0

我有一张桌子:

Values = [2.1 2.4 2.5 2.6; ...
            4.1 4.4 4.5 4.6; ...
            6.1 6.4 6.5 6.6];

ID     = {'x1', 'x4', 'x5', 'x6'};

Ta = array2table(Values,'VariablesNames', ID);

现在我有另一个 ID 列表:

ID     = {'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7'};

我想扩展我的表格,以便在我有数据的列上Ta放置 的值Ta,以及我没有得到数据的单元格NaN

如何扩展VariableNames我的表格,在必要时保留这些值?

4

1 回答 1

1

我们可以这样做:首先,您需要创建新 ID 的表。然后你可以像往常一样在表格上形成数组。例子:

x1 = [1; 2; 3; 4;]
x2 = [1;1;1;1]
x4 = [10;10;10;10]
T = table(x1,x2,x4)

T = 

    x1    x2    x4
    __    __    __

    1     1     10
    2     1     10
    3     1     10
    4     1     10

创建新表:

x3 = [123;13;13;123]
x5 = [0;0;0;0]
T1 = table(x3,x5)

T1 = 

    x3     x5
    ___    __

    123    0 
     13    0 
     13    0 
    123    0 

要扩展第一个表,您现在必须使用索引:

T = [T(:,1:2) T1(:,1) T(:,3) T1(:,2)]

因此,现在您需要做的就是创建算法以使用您的 ID 向量选择当前数据表。

于 2017-10-11T14:11:04.143 回答