我是 Matlab 的新手,很抱歉这个非常简单的问题。给定一个表:
>> 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
Run Code Online (Sandbox Code Playgroud)
如何访问'FEMA'仅包含 的行?
天真地,我会写成:
>> T(T.Var1 == 'FEMA',:)
Run Code Online (Sandbox Code Playgroud)
要得到
ans =
Var1 Var2 Var3 Var4
____ ____ ____ ____
FEMA 38 64 131
FEMA 40 67 133
FEMA 49 64 119
Run Code Online (Sandbox Code Playgroud)
您可以使用ismember:
T(ismember(T.Var1,'FEMA','rows'),:)
Run Code Online (Sandbox Code Playgroud)
仅供参考,您可以声明Var1为元胞数组,而不是强制元素具有相同数量的字符:
T = table({'MALE';'MALE';'FEMALE';'FEMALE';'FEMALE'},[38;43;38;40;49],[71;69;64;67;64],[176;163;131;133;119])
Run Code Online (Sandbox Code Playgroud)
然后你可以放弃'rows'论点
T(ismember(T.Var1,'FEMALE'),:)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1973 次 |
| 最近记录: |