繁体   English   中英

Matlab将行添加到具有不同维度的另一个表的表中

[英]Matlab adding rows to a table from another table with different dimensions

我有一张尺寸为6x2的桌子。 我有另一张尺寸为4x1的桌子,我试图将小桌子附加到较大的桌子上,但由于尺寸的不同,我无法做到。 你有什么建议可以解决这个问题吗?

代码示例:

id = {'AB';'ZX';'DF4';'CA';'AC';'FG'}
mean = [1.5;2;3;1.15;3.06;1]
table1 = table(id,mean);

id2 = {'ZZ';'ZB';'FG';'4FA'};
table2 = table(id2);
table2.Properties.VariableNames = {'id'};

然后,我将使用前6个的平均值来计算最后4行的平均值。

首先,这非常重要:不要将变量称为“均值”,因为这是MATLAB中的平均函数。

我会建议你先计算它们,然后连接表格,但如果你想这样,它也是可能的。 你必须填写一些东西,直到你有实际值

id = {'AB';'ZX';'DF4';'CA';'AC';'FG'};
mean_values = [1.5;2;3;1.15;3.06;1]; %way better than 'mean'
table1 = table(id,mean_values);

id2 = {'ZZ';'ZB';'FG';'4FA'};
table2 = table(id2);
table2.Properties.VariableNames = {'id'};
%add some sort of data like NaN 
table3=[table1;[table2 table(nan(height(table2),1),'Variablenames',{'mean_values'})]];

你也可以使用零或一个或任何其他数字,但它们可能会影响你的平均值(平均值),而NaN则不会:

mean([3 5 nan],'omitnan')

如果你在使用卑鄙的说法时遇到错误'下标索引必须是真正的正整数或逻辑。 你必须使用

clear mean

或从工作区手动删除它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM