公開日: 09/09/2026

JMPEX R関数

jmpex.R.R( <'BACKEND'> )

説明

Rのクラスオブジェクトを作成する。オプションのBACKENDパラメータは、バックエンドのRサポートを指定します。現在はrpy2のみがサポートされています。指定されていない場合、rpy2がデフォルトとして使用されます。

jmpex.R.R.get( 'R_variable' )

説明

R環境から変数を取得する。

戻り値

変数の値を、r2obj()を使ってPythonに戻す。R DataFrameはpandas.dataframeとして戻される。

例

import jmp
from jmpex.R import R
 
dt = jmp.open(jmp.SAMPLE_DATA + 'Big Class.jmp')
 
jr = R()
 
a = jr.set( dt['age'], 'r_age' ) # Pythonから要求されるas_name
 
print(a.__class__)
print(a)
ra = jr.get('r_age')
print( ra.__class__ )
print( ra )
 

Python側では、jmpex.R.R.set()の‘as_name’パラメータをRでの変数名に設定する必要があります。

jmpex.R.R.is_connected()

説明

Rサブシステムが初期化されたかどうかを戻す。R()インスタンスオブジェクトの有無に関わらず使用できる静的な関数。

戻り値

PythonのTrueまたはFalse。

例

import jmp
from jmpex.R import R
 
print(f'\nR initialized 1: {R.is_connected()}\n')
jr = R()
print(f'\nR initialized 2: {R.is_connected()}')

jmpex.R.R.obj2r( PyObj )

説明

適切な変換が可能な限り、PythonオブジェクトからRオブジェクトを作成する。

戻り値

作成されたオブジェクト、またはNone(なし)。

例

import jmp
from jmpex.R import R
 
jr = R()
d = { "canine": ["poodle", "dalmation", "wolf"],
      "ages": [ 1, 3, 5],
      "vet bill": [200.0, 300.57, 2000.99] }
 
r_obj = jr.obj2r( d )
p_obj = jr.r2obj( r_obj )
 
print(r_obj.__class__)
print(r_obj)
 
print(p_obj.__class__)
print(p_obj)

jmpex.R.R.r_version()

説明

Rのバージョンを戻す。ログには、rpy2のバージョンとrpy2パッケージのパスも出力される。

例

import jmp
from jmpex.R import R
 
jr = R()
print(f'R Version: {jr.r_version()}')

jmpex.R.R.r2obj( rpy2_object )

説明

適切な変換が可能な限り、Rまたはrpy2オブジェクトからPythonオブジェクトを作成する。

戻り値

作成されたオブジェクト、またはNone(なし)。

例

import jmp
from jmpex.R import R
 
jr = R()
d = { "canine": ["poodle", "dalmation", "wolf"],
      "ages": [ 1, 3, 5],
      "vet bill": [200.0, 300.57, 2000.99] }
 
r_obj = jr.obj2r( d )
p_obj = jr.r2obj( r_obj )
 
print(r_obj.__class__)
print(r_obj)
 
print(p_obj.__class__)
print(p_obj)

jmpex.R.R.set( Python_variable, 'as_R_name' )

説明

Python変数を、必須の‘as_R_name’パラメータで指定された名前で、R環境の変数として設定する。Rオブジェクトはobj2r()を使って作成される。

例

import jmp
from jmpex.R import R
 
dt = jmp.open(jmp.SAMPLE_DATA + 'Big Class.jmp')
 
jr = R()
 
a = jr.set( dt['age'], 'rage' ) # Pythonから要求されるas_name
 
print(a.__class__)
print(a)
ra = jr.get('rage')
print( ra.__class__ )
print( ra )

jmpex.R.R.submit( 'R_script' )

説明

評価対象のRプログラムコードを送信する。

戻り値

可能な場合は、Pythonオブジェクト。

例

import jmp
from jmpex.R import R
 
jr = R()
dt = jmp.open(jmp.SAMPLE_DATA + 'Big Class.jmp')
 
# R DataFrameには、jmp.DataTableやpandas.DataFrameなどが使える
d = jr.set( dt , 'Big.Class' ) # 'Big.Class'になる
df = jr.submit('Big.Class')    # JSL R Send File(); R Submit();を参照
print(f'DataFrame:\n{df}')
 
print(d.__class__)
print(d)
bc = jr.get('Big.Class')
print( bc.__class__ )
print( bc )

jmpex.R.R.submit_file( 'path to R source file' )

説明

評価対象のRスクリプトファイルを送信する。

戻り値

可能な場合は、Pythonオブジェクト。

例

import jmp
from jmpex.R import R
 
jr = R()
# jr.submit_file(''' Path to R source file ''')
より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).