myfunc.r などのファイルで定義された関数を呼び出す方法はありますか
---------------myfunc.r --------------
myfunc = function(){
return(c(1,2,3,4,5,6,7,8,9,10))
}
getname = function(){
return("chart title")
}
---- Python
How to call getname() here ?
どんな助けでも大歓迎ですか?
rpy2 には、オブジェクトをグローバル ワークスペースにダンプするよりもクリーンにするのに役立つ機能があります。
from rpy2.robjects.packages import STAP
# if rpy2 < 2.6.1 do:
# from rpy2.robjects.packages import SignatureTranslatedAnonymousPackage
# STAP = SignatureTranslatedAnonymousPackage
with open('myfunc.r', 'r') as f:
string = f.read()
myfunc = STAP(string, "myfunc")
myfunc.myfunc
R ファイル内のオブジェクトは、およびでアクセスできるようになりmyfunc.getname
ました。
任意の R コードのパッケージとしてのインポートに関するドキュメントを確認してください。
あなたはこのようなことをすることができます(ここのPythonコード)
import rpy2.robjects as robjects
robjects.r('''
source('myfunc.r')
''')
r_getname = robjects.globalenv['getname']
それからあなたはそれを呼びます
r_getname()