SAS(9.1)の繰り返しスクリプトをJSLに変換するのに役立ちますか?良い一日。
私はいくつかの古いSAS 9.1コードを変換しようとするのに苦労しています。反復計算 ( "do until")をJSLに入れます(私はJMP 13を実行しています)。
* .SASファイルを開いたときにJMPウィンドウに表示されるオリジナルのSASコードが添付されています。私はオリジナルのSASスクリプトからスクリプトの適切なサブセクションを分離し、"mg_in_olivine.jsl"として* jslフォーマットでそれを添付しました。
また、29個のレコードを含むダミーデータセットを含め、いくつかの必須パラメータがすでに計算されています(多数の列の残りの部分は非表示になっています)。
t_niK
PCr
dv
xmg_gt
xfe_gt
xca_gt
私は私が得ることができるどんな助けでも大いに感謝するでしょう。
どうもありがとう。
ロブプレストン(ヨハネスブルグ)。
再:SAS(9.1)の反復スクリプトをJSLに変換するのに役立ちますか?私はそれを持っていると思う - 私は単純なIFステートメントに問題がなかった、それは単なる繰り返しでした。
あなたの助けをもう一度ありがとう、私はゆっくりとはいえそこに着いています。
再:SAS(9.1)の反復スクリプトをJSLに変換するのに役立ちますか?ご協力ありがとうございます。
再:SAS(9.1)の反復スクリプトをJSLに変換するのに役立ちますか?1。Scripting Guideを読むことについてのMarkの提案に注意することをお勧めします。 最新の要求で要求しているのは、JMPで "IF"ステートメントがどのように見えるかを学ぶことだけです。 言語から言語へ構文を変換することは、通常、いくつかの小さな言語の問題を考え出すことです。
2。 スクリプトインデックスを使うこともできます。
ヘルプ==>スクリプトインデックス
"IF"ステートメントに関する文書だけでなく、例も参照してください。
これがIF関数のScripting Indexの例です。 それはあなたの最新のリクエストに直接翻訳されます。
Names Default To Here( 1 );
If( Random Uniform() < 0.5,
"heads",
"tails"
);
再:SAS(9.1)の反復スクリプトをJSLに変換するのに役立ちますか?こんにちはまたジム。
iiはコードの次のセクションの入力値であるため、スクリプトの最後で、最終的な出力値はxmg_olになります(以下のとおり)。
/ **今cr2o3のためのGaul等補正を適用します - pを見てください。225 ** /
/ ** Gaul et alではDelta-Foはパーセントで示されていることに注意してください** /
/ ** cr2o3> 0でないとログエラーになる** /
cr2o3 <= 0の場合
cr_corr = 0。
それ以外の
cr_corr =(−1.2901 * log10(cr2o3)+ 0.69)/ 100.0。
xmg_ol_corr = xmg_ol + cr_corr;
xmg_ol = xmg_ol_corr;
fo_oliv = xmg_ol * 100.0;
私は(控えめに言っても)少しわかりにくいです...しかし、私はあなたの助けに感謝します。再:SAS(9.1)の反復スクリプトをJSLに変換するのに役立ちますか?こんにちはジム。お返事ありがとうございます。
チェックしてるだけ...
再:SAS(9.1)の反復スクリプトをJSLに変換するのに役立ちますか?これはあなたが探しているものでしょうか?
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "xmg_ol_diff" );
For( i = 1, i <= N Rows( dt ), i++,
counter = 0;
While( Abs( dt:xmg_ol_diff[i] ) > 0.00001 | Is Missing( dt:xmg_ol_diff[i] ) == 1,
counter++;
If( counter > 100, Break() );
logKd = (902 + dt:dv[i] + (dt:xmg_ol_est[i] - dt:xfe_ol_est[i]) * (498 + 1.51 * (dt:PCr[i] - 30)) - 98 * (dt:xmg_gt[i] - dt:xfe_gt[i])
+1347 * dt:xca_gt[i]) / dt:t_niK[i] - 0.357;
Kd = Exp( LogKd );
xmgfe_ol = Kd * (dt:xmg_gt[i] / dt:xfe_gt[i]);
xmg_ol = xmgfe_ol / (1 + xmgfe_ol);
dt:xmg_ol_diff[i] = xmg_ol - dt:xmg_ol_est[i];
dt:xmg_ol_est[i] = xmg_ol; /** reset xmg_ol_est for next iteration **/
dt:xfe_ol_est[i] = 1.0 - xmg_ol;
);
);

再:SAS(9.1)の反復スクリプトをJSLに変換するのに役立ちますか?ありがとうマーク。
再:SAS(9.1)の反復スクリプトをJSLに変換するのに役立ちますか?を見てしながら() この種の反復のための関数。