我试图弄清楚如果行的某个变量具有某个值,如何从表中提取行。我知道如何在 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 值为“class 1”的所有行。具体来说,我想要这个:
Var1 Var2 Var3
_____ _____ ______
1.0 2.0 'class 1'
1.3 2.3 'class 1'
到目前为止,我已经尝试使用本文中概述的关键字参数,以及使用 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 中是否有一种简单的方法可以做到这一点?
任何帮助表示赞赏。谢谢。