添加variablenames cell2table多个列

21日视图(30天)
BobbyRoberts
BobbyRoberts 2020年7月4日
评论道: 图像分析 2020年7月5日
你好,我有一个30 x 42单元阵列。我想把这变成一个表并添加变量名每7列,这样我将有6个变量名。我只是不知道如何添加多个列的变量名。我通常会怎么做低于(如果只有7列)。
名称= {“第一”,“第二”,“第三”,“四”,“五”,“六”,“七”};
台= cell2table (curmat,“VariableNames”的名字)
谢谢!

答案(1)

图像分析
图像分析 2020年7月4日
编辑:图像分析 2020年7月4日
这是不可能的。你必须把它作为一个单元阵列。表,所有列必须有一个独特的变量名。单元阵列,您可以在任何有什么细胞,所以你可以把那些为第一行:
%样本单元阵列
ca =细胞(30日42);
k = 1:元素个数(ca)
ca {k} =兰迪(9,1,2);
结束
%建立第一批变量名。
variableNames = {“第一”,“第二”,“第三”,“四”,“五”,“六”,“七”};
%找出多少我们可以复制的副本第一行。
numCopies = int32(长度尺寸(ca, 2) / (variableNames))%这对这种特殊情况下是6。
%现在整个单元阵列复制变量名。
variableNames = repmat (variableNames [1, numCopies]);%这是42渴望这种特殊情况。
%现在东西variableNames单元阵列的第一行。
ca(1,1:长度(variableNames)) = variableNames
%(资源= cell2table (ca, VariableNames, VariableNames) %不可能!
然而,如果你愿意有独特的变量名,像一个“数字”附加到这句话,那么你可以这样做:
%样本单元阵列
ca =细胞(30日42);
k = 1:元素个数(ca)
ca {k} =兰迪(9,1,2);
结束
%整个单元阵列复制变量名。
工作= {“第一”,“第二”,“第三”,“四”,“五”,“六”,“七”};
setNumber = 1;
k = 1:尺寸(ca, 2)
setNumber =地板((k - 1) / 7) + 1;
n =国防部(k - 1 7) + 1;
variableNames {k} = sprintf (“% s_ % d ',工作{n}, setNumber);
流(变量名称列% d %年代\ n”k, k, variableNames {});
结束
%现在让这些变量名。
台= cell2table(钙、“VariableNames”variableNames)
3评论
图像分析
图像分析 2020年7月5日
这只是一个例子。我把它放在那里,因为大多数人都不知道,你可以有一个单独的列一个表是2列(的)如果该值是一个2 x1向量。但是显然你不会使用我的样本单元阵列“ca”,对吧?当然,你有自己的单元阵列和一个不同的名称。你应该意识到 你没有为我们提供curmat ,我必须创建自己的单元阵列,你将取代我的与你的。
再一次,你不能用相同的名称有两个不同的表列。如果你想这样做,你必须与每个元素是一个6-by-1列向量。或者把它作为一个单元阵列,用细胞每一列任何你想要的字符串(名字)。

登录置评。

下载188bet金宝搏


释放

R2020a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!