評価済みリストをデータテーブルスクリプトに格納する方法こんにちは、
後でテーブルを開いてスクリプトを実行できるように、スクリプトをデータテーブルに格納したいと思います。
私の問題は、私がオリジナルのスクリプトで使用している変数の値をデータテーブルスクリプトにどのように出力するかがわからないことです。私はexpr、eval、と試しました...
以下の例はそれを明確に示しています。私は "mylist"に基づいて簡単なグラフを生成するDataTableScriptを保存しようとしています。しかし、どのように "mylist"に含まれる実際の文字列を保存するのですか?
ご協力いただきありがとうございます。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
mylist = {"sex" , "age"};
Graph = Variability Chart(
Y( :weight ),
X( eval(mylist) ),
Max Iter( 100 ),
Std Dev Chart( 0 ),
Show Range Bars( 0 ),
Show Grand Median( 0 ),
Std Dev Chart( 1 ),
Points Jittered( 1 ),
Show Box Plots( 1 ),
);
dt << New Script(
"Test",
Variability Chart(
Y( :weight ),
X( Eval(mylist) ),
Max Iter( 100 ),
Std Dev Chart( 0 ),
Show Range Bars( 0 ),
Show Grand Median( 0 ),
Std Dev Chart( 1 ),
Points Jittered( 1 ),
Show Box Plots( 1 ),
);
);再:データテーブルのスクリプトに評価されたリストを格納する方法ここにあなたの表現をまとめることができる一つの方法があります
NamesDefaultToHere(1);
CurrentDataTable(Open( "$SAMPLE_DATA/Big Class.jmp" ));
// Expression that makes a variability chart
makeVC =
Expr(
vc = CurrentDataTable() << Variability Chart(
Y(:weight),
X(TBD),
Max Iter( 100 ),
Std Dev Chart( 0 ),
Show Range Bars( 0 ),
Show Grand Median( 0 ),
Std Dev Chart( 1 ),
Points Jittered( 1 ),
Show Box Plots( 1 )
);
);
makeBiv = Expr(Bivariate( Y( :height ), X( :weight ) ));
// Put the required 'x' values in 'makeVC'
mylist = {"sex" , "age"};
SubstituteInto(makeVC, Expr(TBD), Eval(myList));
newexpr = expr(tbd; tbd2);
substituteinto(newexpr, expr(tbd), nameexpr(makevc),
expr(tbd2), nameexpr(makeBiv)
);再:データテーブルのスクリプトに評価されたリストを格納する方法こんにちは、
私はこの件に関してさらに質問があります。
いくつかの理由から、私はsaveScript式を少し修正する必要があります。
私はそれに数行のコードを追加したいです。
dt << Clear Select;
dt << Clear Row States;
dt << Select Where( ...);
dt2 = dt << subset ....;
それから私は新しいスクリプトをdt2に保存します。
2つの式を追加または連結しようとしましたが、うまくいきませんでした:(
何か手助け?
再:データテーブルのスクリプトに評価されたリストを格納する方法SubstitueIntoが仕事をします!
どうもありがとうございます
再:データテーブルのスクリプトに評価されたリストを格納する方法できません。リストはスクリプトの結果です。
再:データテーブルのスクリプトに評価されたリストを格納する方法テーブルスクリプトの一部としてリストの定義を含めるだけです。
dt << New Script(
"Test",
mylist = {"sex" , "age"};
Variability Chart(
Y( :weight ),
X( Eval(mylist) ),
Max Iter( 100 ),
Std Dev Chart( 0 ),
Show Range Bars( 0 ),
Show Grand Median( 0 ),
Std Dev Chart( 1 ),
Points Jittered( 1 ),
Show Box Plots( 1 ),
);
);再:データテーブルのスクリプトに評価されたリストを格納する方法私は(どんなプログラミング言語でもコードの保守容易性にとって悪いことだと考えられている)コードの重複を避ける(試みる)傾向があり、私がよく知っているいくつかのデザインパターンを使い続ける。それで、この精神で、私は以下に示されるようにそれをするでしょう。しかし、他にもたくさんの方法があると思います。
NamesDefaultToHere(1);
CurrentDataTable(Open( "$SAMPLE_DATA/Big Class.jmp" ));
// Expression that makes a variability chart
makeVC =
Expr(
vc = CurrentDataTable() << Variability Chart(
Y(:weight),
X(TBD),
Max Iter( 100 ),
Std Dev Chart( 0 ),
Show Range Bars( 0 ),
Show Grand Median( 0 ),
Std Dev Chart( 1 ),
Points Jittered( 1 ),
Show Box Plots( 1 )
);
);
// Put the required 'x' values in 'makeVC'
mylist = {"sex" , "age"};
SubstituteInto(makeVC, Expr(TBD), Eval(myList));
// Make the chart
makeVC;
// Now save the script that makes the chart using a similar method to the above
saveScript = Expr(CurrentDataTable() << New Script("My Variability Chart", TBD));
SubstituteInto(saveScript, Expr(TBD), NameExpr(makeVC));
saveScript;