gpt4 book ai didi

matlab - 如何仅重命名 MATLAB 表中的少数变量?

转载 作者:行者123 更新时间:2023-12-02 05:36:26 27 4
gpt4 key购买 nike

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

例如,说我有这些数据:

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的所有值。如果这在某种程度上很重要的话。

最佳答案

根据 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'}

关于matlab - 如何仅重命名 MATLAB 表中的少数变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41001422/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com