こんにちは、みんな、
次のコードを使用しようとしています:
x = summDt:Slot[1];
y = summDt:Slot[2];
z = summDt:Slot[3];
t = summDt:Slot[4];
New Window( "EtchRate By (スロット) - 二変量",
V リストボックス(
二変量(
Y( :名前( "平均(ER)" ) ),
X( :半径 ),
Fit Each Value( {Line Color( {213, 72, 87} )} ),
Where( :Slot == eval(x)),
SendToReport(
Dispatch( {}, "バイバー プロット", FrameBox, {Marker Size( 4 )} )
)
)、
二変量(
Y( :名前( "平均(ER)" ) ),
X( :半径 ),
Fit Each Value( {Line Color( {213, 72, 87} )} ),
Where( :Slot== eval(y) ),
SendToReport(
Dispatch( {}, "バイバー プロット", FrameBox, {Marker Size( 4 )} )
)
)、
二変量(
Y( :名前( "平均(ER)" ) ),
X( :半径 ),
Fit Each Value( {Line Color( {213, 72, 87} )} ),
Where(:Slot==eval(z) ),
SendToReport(
Dispatch( {}, "バイバー プロット", FrameBox, {Marker Size( 4 )} )
)
)、
二変量(
Y( :名前( "平均(ER)" ) ),
X( :半径 ),
Fit Each Value( {Line Color( {213, 72, 87} )} ),
Where(:Slot== eval(t) ),
SendToReport(
Dispatch( {}, "バイバー プロット", FrameBox, {Marker Size( 4 )} )
)
)
)
);
しかし、Eval 関数に問題があります。これを使用して DT から特定の値を表示するにはどうすればよいですか? 使用する前にスロット番号を知らずに使用したいのですが、4 つの異なるスロット番号があり、それぞれにグラフを作成する必要があることを知っています。
ありがとう。
やあ、
数値の代わりに、:sex==x を取得しています。x=1 の場合、:sex==Expr(x) ==> :sex==1 を取得するという私の目標です。
ありがとう
Eval() がなくても動作するはずです。 dt が現在のデータ テーブルであることを確認するか、Bivariate() コマンドを明示的に dt に送信します。
例:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dtsum = dt << summary(Group(sex));
x = dtsum:sex[1];
y = dtsum:sex[2];
New Window("Height By Weight - Bivariate",
V List Box(
dt << Bivariate(Y(:height), X(:weight), Where(:sex == x)),
dt << Bivariate(Y(:height), X(:weight), Where(:sex == y))
)
);
//Alternative using By(), if all "slots" are to be graphed
New Window("Height By Weight - Bivariate",
V List Box(dt << Bivariate(Y(:height), X(:weight), By(:sex)))
);