我有一张桌子
1, 2, 3, 4, 'good'
4, 32, 22, 1, 'bad'
2, 3, 1, 4, 'good'
9, 1, 23, 4, 'bad'
我想将此表分为两个类'good'
和'bad'
。
这意味着在拆分表之后,我将拥有
表一:
1, 2, 3, 4, 'good'
2, 3, 1, 4, 'good'
表二:
4, 32, 22, 1, 'bad'
9, 1, 23, 4, 'bad'
有没有简单的方法可以做到这一点而无需重新发明轮子?
我正在使用MATLAB 2018a。
答案 0 :(得分:2)
说您的桌子是这个
>> tbl =
A B C D Rating
-----------------------
1, 2, 3, 4, 'good'
4, 32, 22, 1, 'bad'
2, 3, 1, 4, 'good'
9, 1, 23, 4, 'bad'
您可以执行以下操作:
table1 = tbl( strcmp( tbl.Rating, 'good' ), : );
table2 = tbl( strcmp( tbl.Rating, 'bad' ), : );
这将根据Rating
列中的字符串创建逻辑索引数组,并将这些行分配给新表。