我想根据另一个向量的值创建一个新的分类向量。其中每个观察结果仅适用于一个矢量,例如
v1 v2 v3
0, 1, 0
1, 0, 0
1, 0, 0
所以我想让v4命名哪个向量是"真"的,比如:
v1 v2 v3 v4
0, 1, 0, v2
1, 0, 0, v1
1, 0, 0, v1
在另一个答案的基础上,您可以在没有像这样的for循环的情况下计算匹配(这也是一种更动态的方法,因此也应该适用于较大/其他表(。
% assuming your data is stored in table, t
[indices,~] = find(t.Variables.');
t.v4 = categorical(t.Properties.VariableNames(indices)).';
或者在一行中
t.v4 = categorical(t.Properties.VariableNames(mod(find(t.Variables.')-1,size(t.Variables,2))+1)).';