【问题标题】:How to rename only few variables in MATLAB table?如何仅重命名 MATLAB 表中的几个变量?
【发布时间】:2017-04-21 10:47:40
【问题描述】:

我想生成一个表,但想只设置一个变量的变量名,但希望所有其他变量保留它们的名称。

例如, 说我有这些数据:

User1 = rand(5,1);
User2 = rand(5,1);
User3 = rand(5,2);

我现在可以使用:

table(User1 , User2 , User3(:,1))

这给了我这个:

ans = 

 User1       User2        Var3  
________    ________    ________

 0.55229    0.049533     0.14651
 0.62988     0.48957     0.18907
0.031991     0.19251    0.042652
 0.61471     0.12308      0.6352
 0.36241     0.20549     0.28187

我想得到这个:

ans = 

 User1       User2        User3  
________    ________    ________

 0.55229    0.049533     0.14651
 0.62988     0.48957     0.18907
0.031991     0.19251    0.042652
 0.61471     0.12308      0.6352
 0.36241     0.20549     0.28187

我尝试过这样做:

table(User1 , User2 , User3(:,1), 'VariableNames',{'','','User3'} )

但这会产生错误:

Error using setVarNames (line 33)
The VariableNames property must be a cell array, with each element containing one nonempty
string.

Error in table (line 305)
            t = setVarNames(t,vnames); % error if invalid, duplicate, or empty

如何解决我的 MATLAB 2014b 问题?

对于我的数据,生成了d,并在循环中制作了表格,我想保留d 的所有值。如果这在某种程度上很重要。

【问题讨论】:

标签: matlab matlab-table


【解决方案1】:

根据 MA​​TLAB 的 documentation for the table data type,您可以通过修改表的 VariableNames property 来完成此操作。

使用示例表T

T = table(rand(3, 1), rand(3, 1), rand(3, 1));

你可以用数字索引变量:

T.Properties.VariableNames{2} = 'Middle_Column' 
T.Properties.VariableNames(2:3) = {'Middle_Column', 'End_Column'} 

或者你可以使用table的隐式字符串比较来索引字符串:

T.Properties.VariableNames{'Var2'} = 'Middle_Column'
T.Properties.VariableNames({'Var2', 'Var3'}) = {'Middle_Column', 'End_Column'}

或者你可以重新分配整个事情:

T.Properties.VariableNames = {'Start_Column', 'Middle_Column', 'End_Column'}

【讨论】:

    【解决方案2】:

    table(User1 , User2 , User3(:,1),'VariableNames', {'User1', 'User2', 'User3'})

    【讨论】:

    • 这不是我想要的。您基本上重命名了所有变量。我只想重命名一个变量,但还是谢谢
    猜你喜欢
    • 2017-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 2019-04-21
    • 2020-07-15
    相关资源
    最近更新 更多