问题标签 [matlab-table]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - 从表中选择聚集行
我将尝试将我的问题写在一个列表中以便更容易理解:
- 我有一个
T
大小为 matlab 的表1000x30
。 - 表中名为“类”的最后一列中的所有数据都有一定的整数值,范围从
1
到20
。 - 因此,有些行将具有值
1
,这意味着这些行属于“Class1”,有些行将具有该值2
,有些将具有该值20
,依此类推。 - 具有某个类的行数不等于具有另一个类的行数,因此可能有 100 行有类
1
,但有 10 行有类2
,500行有类3
等等。
这就是我想要做的:
- 我想获得分配给它的行数最少的类的行数。因此,假设 Class
10
分配给它的行最少,count == 3
而其余的类分配给它们的行超过 3 行。 - 然后我将有一个名为的新列
YesNo
,其中只有值0
或1
。 - 然后计数最少的类的所有行(例如本例中的 10 类)都将具有值
1
。 - 对于所有其他类的其余行,我想从每个其他类中随机选择与具有最低编号的类相似的行数(在本例中为
3
)。 - 然后对于这些随机选择的其他类的行,新列中的值
YesNo
将是1
,而其余未选择的行将是 0。 - 所以在这个例子中,这将以一个带有
1000
值的新列结束,其中 3*20 将有 1(3-> 分配给具有最低计数的类的行数,20-> 是类数)和 0对于其余的。
我想知道如何在 MATLAB R2015b 中做到这一点?我知道我可以使用T.YesNo = newArr;
where newArr
is a 1000x1 double
having0
和1
values 在表中创建一个新列。
作为一个小例子,如果T
是10x3
并且只有 3 个类 ( 1,2,3
),下面是T
外观:
如上所示,Class3 是计数最少的,只有 2 行。所以我想随机选择Class1和Class2中的两行,然后将这些随机选择的行的新列的值设置为1
,其余的将0
如下所示:
matlab - 没有维度名称的可写表
我正在尝试使用writetable
with从表中编写 CSV writetable(..., 'WriteRowNames', true)
,但是当我这样做时,Matlab 默认放入Row
CSV 的 (1,1) 单元格。我知道我可以Row
通过设置更改为另一个字符串,myTable.Properties.DimensionNames{1}
但我不能将其设置为空白,所以我似乎被迫在那个 (1,1) 单元格中有一些文本。
有没有办法将我的 CSV 的 (1,1) 元素留空并仍然写入行名?
matlab - 如何在表格中创建可变数量的列标题?
我本质上想要的是标题
被称为
我试过搞乱这个T.properties.Variablenames
领域,但似乎无法让它发挥作用(我可以正确命名“Var1”和“Var2”,但不知道会有多少作业让我无法命名其余的他们)。
有什么优雅的方法可以做到这一点吗?
arrays - 在 MATLAB 中连接 tall 数组中的行
我有一大组数据,它的第一行看起来像
我在 MATLAB 中使用 tall 数组。我希望能够使用 timerange 函数在不同时间范围之间选择数据(请参阅我之前的问题: 在 MATLAB 中的 tall 数组中选择时间和日期范围之间的数据行 )。
但是,如果我没记错的话,时间和日期必须在同一行。因此,我试图将两者合二为一。我尝试了不同的功能,例如“join”,但我找不到任何适用于 tall 数组的功能。有办法解决这个问题吗?
谢谢,
matlab - 如何合并具有不同行数的表?
我目前正在尝试在 MATLAB 中创建信号过程图。为了做到这一点,我有 3 个表格,我想绘制不同的信号,这些表格需要合并才能绘制在同一个图表上(但分开以便分别查看信号)。
到目前为止,我已经尝试过:
欢迎任何建议。
matlab - 从具有原始数据大小的变量创建表
我有一个变量列表及其具有不同数据类型(float32、uint32、int8 ....)的值。现在我将它们收集到一个表中:
表中的变量会自动转换为 uint16。我想要原始大小的值。将数据收集到表格时,我怎么能对 matlab 这么说?
matlab - Matlab中的格式化表格显示
我有一个包含不同类型列的表。我正在使用该功能将其导出到 excel 中writetable(...)
。然而,我想知道如何以不同的格式显示一些列。
例如,以 % 为单位的格式四舍五入为 2 个整数。例如0.025
--> 2.5%
。
string - 如何从整个表中删除“?
让我们得到一个有 2 列A
和B
. 该表的值如下所示:
在这里我需要删除所有""
的,所以我只会得到""
. 它是表的一些属性,它把字符串输入到""
? 我无法删除它们。是否有不同的方法来处理表中的字符串?
matlab - 将表字符串转换为 datenum
我有带有字符串的 Matlab 表,我想将其转换为 datenum 格式。我试过了:
但我收到了错误:
这是我的 Tbl 示例: