【发布时间】:2018-03-28 15:12:05
【问题描述】:
我试图弄清楚如果行的某个变量具有某个值,如何从表中提取行。我知道如何在 R 中做到这一点,但在 Matlab 中无法弄清楚。例如,假设这是我的桌子:
Var1 Var2 Var3
_____ _____ ______
1.0 2.0 'class 1'
1.1 2.1 'class 2'
1.2 2.2 'class 3'
1.3 2.3 'class 1'
我试图弄清楚如何获取 Var3 具有值“类 1”的所有行。具体来说,我想要这个:
Var1 Var2 Var3
_____ _____ ______
1.0 2.0 'class 1'
1.3 2.3 'class 1'
到目前为止,我已经尝试使用 this post 中概述的关键字参数,以及使用 matlab 行来尝试对所有内容进行排序。两者都没有奏效。
假设 T 是我的桌子。首先,我试过了
T(T.Var5 == 'class 1',:)
但得到了错误:
Undefined operator '==' for input arguments of type 'cell'.
然后,我决定有点创意,发现您可以在 Matlab 文档中创建行名。所以我这样做了:
A = T{:,{1:2}};
B = T{:,{3}};
B = table2array(B);
A.Properties.RowNames = B;
但我得到了错误:
Duplicate row name: 'class 1'.
我在这里做错了吗?在 Matlab 中是否有一种简单的方法可以做到这一点?
感谢任何帮助。谢谢。
【问题讨论】:
标签: matlab matlab-table