我有一個包含可變數字連續列名的表。 我需要獲取每列的平均值,按不同的列分組。 下面的腳本顯示了我正在嘗試做的事情,它製作了一個適用於此目的的通用表格。 我被“Mean(ColNames)”行掛斷了,因為它似乎無法處理它。
如果我更換“均值(ColNames)”使用 "Mean(:Col2, :Col3)" 或 "Mean(:Name("Col2"), :Name("Col3"))" 然後它工作但顯然不滿足我能夠使用可變列的需要. 我離得近還是離得遠?
<BR />// Make a table to work with
nr = 20;
nc = 3;
dt = NewTable("Random_Table");
For(c=1, c<=nc, c++,
dt << NewColumn("Col"||Char(c), Numeric, Continuous, Formula(RandomInteger(1, 10)));
);
dt << AddRows(nr);
Column(1) << Data Type(Character);
//Get column names for the numeric continuous columns
ColNames = dt << Get Column Names(Numeric, "Continuous");
dt << Summary(
Group(:Col1),
Mean(ColNames),
statistics column name format( "column" )
);
將 Eval() 放在列列表周圍,它將起作用
names default to here(1);
dt=open("$SAMPLE_DATA\big class.jmp");
ColNames = dt << Get Column Names(Numeric, "Continuous");
dt << Summary(
Group(:sex),
Mean(eval(ColNames)),
statistics column name format( "column" )
);