每次我想对同一个表中的两个变量进行操作时,都会重复表的名称来选择它们,如以下示例所示:

boxplot(hospital.Weight, hospital.Sex)

如果表的名称发生更改,这将是一个问题,因为需要对其进行两次更改才能使其正确。

有没有更优雅的方法来避免函数调用中的重复?

我试过了:

boxplot(hospital( : , {'Weight', 'Sex'}))

但是据我所知,这仅将列返回为表格和箱线图。

===============>>#1 票数:1

我要做的是在生成箱形图之前创建一个虚拟变量,这样您只需要更改一行即可:

table_name = hospital; %this is the line you'd change if the table name changes
boxplot(table_name.Weight, table_name.Sex)

===============>>#2 票数:0

@qbzenker答案可能是最好的方法,但是如果您寻找其他东西,可以为此使用单元格数组:

C = table2cell(hospital(:,{'Weight','Sex'})); % this is the only place to change the table name
boxplot([C{:,1}],[C{:,2}])

如果您希望使用更好的语法,可以编写一个小的函数,例如:

function my_BoxPlot(T,F)
C = table2cell(T(:,F));
boxplot([C{:,1}],[C{:,2}])
end

然后使用您喜欢的语法调用它:

subplot 121
my_BoxPlot(hospital,{'Weight','Sex'})
subplot 122
my_BoxPlot(hospital,{'Age','Sex'})

2箱图

  ask by NicolasBourbaki translate from so

未解决问题?本站智能推荐: