我的height
是100 x 19。
Table的前16列包含字符,后3列包含双变量。
如何在第50行之后插入由NaN组成的3个新行,以便我的表格变为103 x 19?
表格的格式为
Table
我想要的东西(在这个例子中,我在第1和第2之间只添加了一行)
Subject Sex Age .... .... ... .. Var1 Var2 Var3
1 M 38 88 89 99
2 F 34 ..... .... .. ... 34 34 34
答案 0 :(得分:4)
您可以使用nan()
函数创建NaN值,然后将它们作为新数据附加到您的表中。您需要将新数据作为具有相同变量名称的表。我在这里假设所有这些都是数字。
在你的情况下
T=[T; array2table(nan(3,8),'variablenames',T.Properties.VariableNames)];
此外,根据@ Dan的评论,您似乎也可以
T{51:53,:} = NaN
同样,如果所有值都是数字类型。
答案 1 :(得分:2)
假设所有数据都是数字,那么
% Create an example table
>> tbl = table((1:100)',(101:200)');
% Append rows
>> tbl{end+1:end+3,:} = nan;
% Move rows
>> tbl{53:end,:} = tbl{50:100,:};
% Insert nans
>> tbl{50:52,:} = nan;
如果所有数据都不是数字,那么它有点困难,但总体思路仍然存在。