jmpexパッケージをインストールする方法は2通りあります。1つ目は、JMP 19で、R Init()またはR Connect()を呼び出す方法です。どちらを呼び出した場合でも、jpip()を使ってjmpexが自動的にインストールされます。
なお、jmpexパッケージには一定の要件がありますのでご注意ください。それらの条件や、rpy2、numpy、pandasなどの必須パッケージがシステム上にない場合は、それらがダウンロード、インストールされます(インターネットへのアクセスが許可されていること、Pythonパッケージのインストール権限があることが前提となります)。
追加のデベロッパーツールおよび必須パッケージをインストールするように促された場合は同意して、jmpexのインストールを完了してください。JMPからRへの接続を正常に動作させるためには、JMPを再起動する必要がある場合があります。
2つ目は、jpip()を使って、jmpexパッケージを明示的にインストールする方法です。パッケージは、$SAMPLE_SCRIPTS/Python/jmpex.zipにあります。
JMPのPythonスクリプトウィンドウで、以下のスクリプトを実行します。
import jmp
import os
from jmputils import jpip
jpip(‘install’, [ os.path.join(jmp.SAMPLE_SCRIPTS,‘Python’,‘jmpex.zip’) ] )
import jmpex
help( jmpex )
jpipコマンド内の角括弧[ ]は、パスをひとまとまりの文字列として処理するために必要です(JMPのデフォルトのパスには、macOS、Windowsともにスペースが含まれているため)。
jmpexインポートパッケージには、モジュール Rとクラス Rが含まれます。jmpexパッケージを使用することで、Python、R、JSLスクリプトに対して一貫したアプローチをとることが可能となります。
jmpexを使用するには、Pythonコード内でjmpexインスタンスを作成して初期化する必要があります。Rのバックエンドの名前を、初期化パラメータとして渡すことも可能です。現時点では、rpy2のみが有効です。次のPythonコードは、jmpex.R.Rクラスをインポートし、変数jrのRインスタンスを初期化して、
is_connected()およびr_version()を呼び出します。
import jmp
from jmpex.R import R
jr = R()
print(f'\nR initialized: {R.is_connected()}')
print(f'\nR Version: {jr.r_version()}')
お使いのコンピュータで、JSLベースのスクリプトを使ったRの操作が可能かどうかは、次のJSLスクリプトでテストできます。
R Init( );
R Submit( "
x <- 1:5
x
" );
R Term( );
ログには次のような内容が出力されます。
[1] 1 2 3 4 5