根据matlab中的一个columan条件选择一些随机行

时间:2016-07-27 12:33:47

标签: matlab statistics

我有一张像这样的表'X':
name value score joy 3 60 rony 8 50 macheis 20 20 joung 2 80 joy 8 3 joy 90 0 joung 4 78 machies 3 23 joy 7 99

我想选择2个随机行(名称,值,得分),其名称为“joy”。 我应用了这样的东西:
mnew = datasample(find(X.name=='joy'),2);但它不起作用!并给我错误:Undefined operator '==' for input arguments of type 'cell'.
应该随机选择行(包含所有列值),其中名称为joy 有没有人解决这个问题呢?我怎么能在MATLAB中做到这一点?

1 个答案:

答案 0 :(得分:0)

您有正确的想法,但为了检查字符串的单元格数组中是否存在字符串,您需要使用strcmpismember或其他方法来比较字符串到一个单元格阵列。

你可能还想在调用datasample时指定你不想使用替换,这样你就不会两次获得同一行。

subx = X(datasample(find(strcmp(X.name, 'joy')), 2, 'Replace', false),:);