簡體   English   中英

使用rpy2 importr將R包Rssa導入到python中

[英]R packages Rssa is not imported to python with rpy2 importr

當我在Python命令中執行時

rssa = importr('Rssa')

我得到了eroor

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    rssa = importr('Rssa')
  File "C:\Python34\lib\site-packages\rpy2\robjects\packages.py", line 412, in importr
    version = version)
  File "C:\Python34\lib\site-packages\rpy2\robjects\packages.py", line 178, in __init__
    self.__fill_rpy2r__(on_conflict = on_conflict)
  File "C:\Python34\lib\site-packages\rpy2\robjects\packages.py", line 280, in __fill_rpy2r__
    super(SignatureTranslatedPackage, self).__fill_rpy2r__(on_conflict = on_conflict)
  File "C:\Python34\lib\site-packages\rpy2\robjects\packages.py", line 233, in __fill_rpy2r__
    rpyobj = conversion.ri2ro(riobj)
  File "C:\Python34\lib\functools.py", line 707, in wrapper
    return dispatch(args[0].__class__)(*args, **kw)
  File "C:\Python34\lib\site-packages\rpy2\robjects\__init__.py", line 101, in _
    return SignatureTranslatedFunction(obj)
  File "C:\Python34\lib\site-packages\rpy2\robjects\functions.py", line 150, in __init__
    raise ValueError("Error: '%s' already in the translation table. This means that the signature of the R function contains the parameters '%s' and/or '%s' <sigh> in multiple copies." %(r_param, r_param, prm_translate[py_param]))
ValueError: Error: '...' already in the translation table. This means that the signature of the R function contains the parameters '...' and/or '...' <sigh> in multiple copies.

例如,其他包導入沒有問題

stats = importr('stats')
tseries = importr('tseries')
forecast = importr('forecast')

我一直在尋找這樣的問題,但我找不到任何接近的東西。 請提出一些關於這個問題的決定。

這是由於Rssa在試圖控制'分解'功能(從'stats'包中導出)時的錯誤引起的。 特別是,在正式列表'...'中添加兩次,這就是rpy2抱怨的內容。

這將在隨后的Rssa版本中修復。

唯一的解決方法是在R / common.R中注釋掉以下行:

formals(decompose.default) <- c(formals(decompose.default), alist(... = ))

並從源代碼重新安裝Rssa。 這在Windows上可能並不重要,盡管R windows構建器可以在這里提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM