在 matlab 中查找行 table
Find rows in matlab table
我是 Matlab 的新手,很抱歉回答这个非常简单的问题。给定一个 table:
>> T = table(['MALE';'MALE';'FEMA';'FEMA';'FEMA'],[38;43;38;40;49],[71;69;64;67;64],[176;163;131;133;119])
T =
Var1 Var2 Var3 Var4
____ ____ ____ ____
MALE 38 71 176
MALE 43 69 163
FEMA 38 64 131
FEMA 40 67 133
FEMA 49 64 119
如何访问仅包含 'FEMA'
的行?
天真的,我会写成:
>> T(T.Var1 == 'FEMA',:)
获得
ans =
Var1 Var2 Var3 Var4
____ ____ ____ ____
FEMA 38 64 131
FEMA 40 67 133
FEMA 49 64 119
您可以使用 ismember
:
T(ismember(T.Var1,'FEMA','rows'),:)
仅供参考,您可以将 Var1
声明为元胞数组,而不是强制元素具有相同数量的字符:
T = table({'MALE';'MALE';'FEMALE';'FEMALE';'FEMALE'},[38;43;38;40;49],[71;69;64;67;64],[176;163;131;133;119])
然后你可以删除 'rows'
参数
T(ismember(T.Var1,'FEMALE'),:)
T2 = T(T.Var1=='F',:)
我假设您已经看过帮助,但这基本上是因为它是一个单元格而不是字符。 http://www.mathworks.com/help/matlab/matlab_prog/access-data-in-a-table.html
所以,如果你想匹配完整的字符串,使用字符串 comp
T2 = T(strcmp(T.Var1, {'FEMA'}),:)
我是 Matlab 的新手,很抱歉回答这个非常简单的问题。给定一个 table:
>> T = table(['MALE';'MALE';'FEMA';'FEMA';'FEMA'],[38;43;38;40;49],[71;69;64;67;64],[176;163;131;133;119])
T =
Var1 Var2 Var3 Var4
____ ____ ____ ____
MALE 38 71 176
MALE 43 69 163
FEMA 38 64 131
FEMA 40 67 133
FEMA 49 64 119
如何访问仅包含 'FEMA'
的行?
天真的,我会写成:
>> T(T.Var1 == 'FEMA',:)
获得
ans =
Var1 Var2 Var3 Var4
____ ____ ____ ____
FEMA 38 64 131
FEMA 40 67 133
FEMA 49 64 119
您可以使用 ismember
:
T(ismember(T.Var1,'FEMA','rows'),:)
仅供参考,您可以将 Var1
声明为元胞数组,而不是强制元素具有相同数量的字符:
T = table({'MALE';'MALE';'FEMALE';'FEMALE';'FEMALE'},[38;43;38;40;49],[71;69;64;67;64],[176;163;131;133;119])
然后你可以删除 'rows'
参数
T(ismember(T.Var1,'FEMALE'),:)
T2 = T(T.Var1=='F',:)
我假设您已经看过帮助,但这基本上是因为它是一个单元格而不是字符。 http://www.mathworks.com/help/matlab/matlab_prog/access-data-in-a-table.html
所以,如果你想匹配完整的字符串,使用字符串 comp
T2 = T(strcmp(T.Var1, {'FEMA'}),:)