有沒有一種方法可以將列列表作為組變量輸入列均值/標準差/中位數?大家好,
我正在嘗試生成一個新列,該列是 :A 的平均列,由 :B、:C、:D 指定的組。
有沒有辦法做到這一點:B,:C,:D是一個列表? 我想要這個,所以我可以使用 Col Dialog 填充它。
如果沒有,有沒有辦法將列表分解為參數?
下面的第一行給出了我想要的平均值,而第二行給出了 :A 的整體平均值。
平均值=新列(“平均值”,公式(Col Mean(:A,:B,:C,:D)));
mean = New Column("Mean", Formula(Col Mean(:A, {:B, :C,
})));
提前致謝。
腳本回复:有沒有辦法將列列表作為組變量輸入列均值/標準差/中位數?這是解決此問題的簡單方法
Names Default To Here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
colList = {"height", "Sex", "Age"};
Eval(
Substitute(
Expr(
dt << New Column( "Mean",
formula( Col Mean( __one__, __two__, __three__ ) )
)
),
Expr( __one__ ), Parse( ":" || colList[1] ),
Expr( __two__ ), Parse( ":" || colList[2] ),
Expr( __three__ ), Parse( ":" || colList[3] )
)
);回复:有沒有辦法將列列表作為組變量輸入列均值/標準差/中位數?如果您在列表中使用 :name 格式列,您也可以使用此選項(想法來自在公式中使用列列表)
Names Default To Here(1);
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open("$SAMPLE_DATA/big class.jmp");
col_list = {:height, :Sex, :Age};
formula_expr = Name Expr(Substitute(col_list, Expr(List()), Expr(Col Mean())));
Eval(EvalExpr(
dt << New Column("Mean", Formula(Expr(formula_expr)));
));
關於使用 Eval、Eval Expr、Expr、Substitute... 參見使用 Eval Insert、Eval Expr、Parse 和 Substitute 將一個表達式插入另一個表達式
回复:有沒有辦法將列列表作為組變量輸入列均值/標準差/中位數?謝謝吉姆,如果列表的大小未確定,是否有辦法做到這一點?