我第一次尝试使用 rpy2。假设我在 python 中有一个列表
l = [1,2,3,4,5,6]
我想用 R 打电话
ks.test(l, pexp)
我怎样才能做到这一点?
我最初的尝试是
#!/usr/bin/python
import rpy2.robjects as robjects
l = [1,2,3,4,5]
f = robjects.r('''
f<-function(l){
ks.test(l, pexp)
}''')
print f(l)
这显然不是我所得到的正确方法
Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...) :
'x' must be atomic
Traceback (most recent call last):
File "./rpy2-test.py", line 12, in <module>
print f(l)
File "/usr/local/lib/python2.7/dist-packages/rpy2/robjects/functions.py", line 166, in __call__
return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/rpy2/robjects/functions.py", line 99, in __call__
res = super(Function, self).__call__(*new_args, **new_kwargs)
rpy2.rinterface.RRuntimeError: Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...) :
'x' must be atomic
这样做的正确方法是什么?