0
我已經在這裏引用了這篇文章。 converting a Python list to an R numeric vector將Python中的列表轉換爲R中的向量
我得到了同樣的錯誤,但提供的解決方案不適合我,所以我張貼它。我在Python中使用python 2.7和rpy2相應的最新版本
我試圖從python中使用rpy2調用R函數,我的第一行有如下幾行。
import rpy2.robjects as robjects
from rpy2.robjects.packages import importr
import rpy2.robjects.numpy2ri
rpy2.robjects.numpy2ri.activate()
r=robjects.r
astsa=importr('astsa')
astsa.acf2(L, 3) # L:a numeric list returned by my omitted code,I checked
錯誤如下:
Traceback (most recent call last):
File "/home/jin/Desktop/main.py", line 63, in <module>
astsa.acf2(traffic[0], 3)
File "/usr/lib/python2.7/dist-packages/rpy2/robjects/functions.py", line 86, in __call__
return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/rpy2/robjects/functions.py", line 35, in __call__
res = super(Function, self).__call__(*new_args, **new_kwargs)
RRuntimeError: Error in stats::acf(series, max.lag, plot = FALSE) : 'x' must be numeric
錯誤來自R:它需要一個數值向量,而L可能是一個列表(查看來自R的錯誤消息) – lgautier
這是真的,但是當我嘗試使用前一個參考鏈接將python列表轉換爲R向量時,它沒有通過,這就是爲什麼我發佈 – Jin
如果你可以提供一個獨立的例子(這裏有一個「我正在做的事情,但我所做的一切都是正確的「在中間的差距,這確實表明它包含問題的來源和解釋) – lgautier