Pandas和rpy2:为什么ezANOVA通过robjects.r而不是robjects工作robjects.packages.importr?

2024-04-24 08:31:04 发布

您现在位置:Python中文网/ 问答频道 /正文

像许多人一样,我希望停止跨越R和Python世界,只在Python中使用Pandas、Pyr2、Numpy等,我正在使用R包ez来实现它的ezANOVA功能。如果我以艰苦的方式做事,它会起作用,但为什么当我以简单的方式做事时,它却不起作用呢?我不明白由此产生的错误:

File "/Users/malcomreynolds/analysis/r_with_pandas.py", line 38, in <module>
    res = ez.ezANOVA(data=testData, dv='score', wid='subjectid', between='block', detailed=True)
  File "/usr/local/lib/python2.7/site-packages/rpy2/robjects/functions.py", line 178, in __call__
    return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/rpy2/robjects/functions.py", line 106, in __call__
    res = super(Function, self).__call__(*new_args, **new_kwargs)
rpy2.rinterface.RRuntimeError: Error in table(temp[, names(temp) == wid]) : 
  attempt to set an attribute on NULL

完整的可复制代码见下文(需要一些python包:pyr2、pandas、numpy):

^{pr2}$

Tags: inpypandaslibusrlocal方式line