この節では、Rへのデータテーブル送信、Rでのオブジェクト作成などの例を紹介します。
次のJSLの例は、R接続を開始し、データテーブルをRに送り、それをログに印刷し、最後にR接続を閉じます。
R Init();
dt = Open( "$SAMPLE_DATA/Big Class.jmp", invisible );
R Send( dt ); // dtという開いたデータテーブルをRに送る
R Submit( "print( dt )" );
次のJSLの例は、R接続を開始し、Rオブジェクトを作成し、そのオブジェクトをJMPで取得し、最後にR接続を閉じます。
R Init();
R Submit(
"
L3 <- LETTERS[1:3]
d <- data.frame(cbind(x=1, y=1:15), Group=sample(L3, 15, repl=TRUE))
"
);
R Get( d ) << NewDataView;
次のJSLの例は、R接続を開始し、グラフの出力先としてファイル名を設定し、そのファイルにプロットを書き込み、ファイルを開いてプロットを取得します。
R Init();
img_path = Get Path Variable( "TEMP" ) || "r_plot.png";
R Execute( {img_path}, {}, "\[
png(img_path)
plot(1:10)
dev.off()
]\" );
plot = Open( img_path );
rc = Delete File( img_path );
次のJSLの例は、R接続を開始し、まず、1つの行列をJMPからRに送ります。次に、Rで、もう1つの行列を作成します。そして、この2つの行列を足し合わせた行列をJMPに送り、最後にR接続を閉じます。
R Init();
X = J( 2, 2, 1 );
R Send( X );
R Submit(
"
X #Xをログに印刷する
Y <- matrix(1:4, nrow=2, byrow=TRUE) #2x2の行列オブジェクトYを作成する
Y #Yをログに印刷する
Z <- X + Y #行列オブジェクトZはXとYを1つにしたもの
"
);
Z = R Get( Z );
Show( Z );
サンプルスクリプトフォルダ内のJMPtoR_bootstrap.jslは、Rのライブラリを利用して、JMPにおいてブートストラップを実行します。
このスクリプトは、まずユーザに対し、分析対象の変数を指定するためのウィンドウを、JMPにおいて表示します。このウィンドウで、信頼区間を求めたい統計量も選択します。その後、JSLのRインターフェースを使って、データがRに送られます。
そして、Rのbootパッケージにおけるboot()関数およびboot.ci()関数によって、各ブートストラップ標本の統計量とブートストラップ信頼区間が計算されます。
結果はJMPに戻され、JMPの「一変量の分布」プラットフォームを使って表示されます。