有没有办法创建一个具有多行列名的表?



>我正在尝试创建一个表格,该表具有以下列的多行标题格式

|Col1 Co2 Col3|
|Col1 Co2 Col3|

使用示例尝试了此操作,并在第一行和第二行之间添加了 | 但没有工作

T = table(categorical({'M';'F';'M'}),[45;32;34],...
{'NY';'CA';'MA'},logical([1;0;0]),..
'VariableNames',{'Gender|Gender2','Age|Age2','State|State2','Vote|Vote2'})

我正在使用R2018b学生版

在MATLAB 的 R2019b 版本中添加了在tables 中使用任意变量名称的功能。使用该版本,您的代码将按预期工作并生成:

T =
3×4 table
Gender|Gender2    Age|Age2    State|State2    Vote|Vote2
______________    ________    ____________    __________
M              45          {'NY'}         true    
F              32          {'CA'}         false   
M              34          {'MA'}         false   

但是,在您的问题中,您声明您想要多行变量。您可以在 R2019b 中进行这些操作,但显示会将换行符折叠成,如下所示:

>> T = table(1, 'VariableNames', {['a', newline, 'b']})
T =
table
a↵b
___
1 

如果它只是您想要的显示,您可以考虑制作嵌套表,如下所示:

t1 = table(1);
t2 = table(2);
T = table(t1, t2)

这导致:

T =
1×2 table
t1      t2 
Var1    Var1
____    ____
1       2  

请注意,最终方法适用于 R2019a 和更早版本。

不行。 表的有效变量名类似于 Matlab 中的其他变量。它们不能包含 (换行符(或任何不是字母和数字的内容。下划线是例外。

相关内容

  • 没有找到相关文章

最新更新