2013-01-08 15 views
0

我想下面的代碼:如何使用Python中RPY包調用LTM功能

from rpy import * 
r.library("ltm") 

dat= #some data frame or matrix 
r.ltm(r('dat~z1')) 

錯誤來是--- RPy_RException:錯誤的eval(表達式,ENVIR,enclos) :對象「逸」未找到

請告訴我使用RPY庫

回答

1

調用ltm功能我用rpy2作爲一般的方法嘗試以正確的方式和沿着線的東西:

from rpy2.robjects import * 
r("library('ltm')") 
r.assign('r_var_name',py_var_name) 
r("r_var_name<-as.desired.data.type(r_var_name)") 

那麼無論命令你在做「r_var_name」使用「LTM」包裏面的功能進一步R(「嗒嗒」)語句。

例如獲得係數爲ltm包示例之一:

In [30]: py_obj = r("coef(ltm(Abortion ~ z1, control = list(GHk = 20, iter.em = 20)))") 
In [32]: py_obj 
Out[32]: 
<Matrix - Python:0x4db0290/R:0x52f04f0> 
[0.188998, -0.256378, -0.367623, ..., 4.542567, 5.840821, 3.243826] 
+0

thanks @conjectures。 你的下面的行幫助我直接 - r.assign('r_var_name',py_var_name) 我能夠用rpy包運行這個。非常感謝:) 但我仍然沒有在windows7 64位中使用rpy2。你知道有什麼好方法在Windows7 64位安裝rpy2? –

+0

對不起,我在Linux上:( – conjectures