如何翻转表格RowNames
变为 m0 m1 m10 m11 m12 m13 m14 m2 m3 m4 m5 m6 m7 m8 m9
________ _______ _______ _______ _______ _______ _______ _______ _______ _______ ________ ________ _______ _______ _______
0.096898 0.11567 0.23266 0.11393 0.51438 0.51438 0.51438 0.42039 0.11543 0.11024 0.060229 0.086558 0.11542 0.11537 0.43305
即。
Chisq
_______
m0 0.096898
m1 0.11567
m2 ...
... ...
成为
pip install --egg M2CryptoWin64
答案 0 :(得分:10)
在旋转并将其转换回表格之前,您需要先将表格转换为数组:
YourArray = table2array(YourTable);
YourNewTable = array2table(YourArray.');
YourNewTable.Properties.RowNames = YourTable.Properties.VariableNames;
您也可以尝试rot90(YourTable)
看看会发生什么,但我不确定它是否也会这样(我认为这是误导性名称之一)
答案 1 :(得分:0)
function [tableTransposed] = transposeTable(tableIn)
%this function transposes a table.
props =tableIn.Properties.VariableNames;
tableTransposed = table();
tableSz = size(tableIn);
tableTransposed.metricName = props';
tableTransposed(1,:) = [];
for newPropertyNum = 1:tableSz(1)
propCurr = table2array(tableIn(newPropertyNum,1));
if isa(propCurr,'numeric')
newProperty = num2str( propCurr );
else %assumed to be string
newProperty = propCurr;
end
tableTransposed = setfield(tableTransposed,newProperty,table2array(tableIn(newPropertyNum,2:end))');
end
答案 2 :(得分:0)
从MATLAB R2018a开始,您还可以使用ROWS2VARS function。
我发现该函数向表中添加了一个名为OriginalVariableNames
的附加列,这可能不是您想要的。