Вызов скрипта r в python? - PullRequest
0 голосов
/ 08 мая 2018

Код R, упомянутый ниже, использует библиотеку CALIBERdrugdose и возвращает фрейм данных с помощью фукционного доза-преобразователя. Нам нужно вызвать этот скрипт r или rfunc (x) на python, как мы можем это сделать?

library(CALIBERdrugdose)
rfunc <- function(x){
l=doseconvert(c(x))
return(l)
}

когда я попытался запустить его таким образом

robjects.r('''
    # create a function `f`
    library(CALIBERdrugdose)
   rfunc <- function(x){
   l=doseconvert(c(x))
  return(l)
    }
    # call the function `f` with argument value 3
    rfunc("sadas")
    ''')

это дало мне эту ошибку ..

  RRuntimeError                             Traceback (most recent call last)
<ipython-input-89-5aea02cf4722> in <module>()
     10         # call the function `f` with argument value 3
     11         rfunc("sadas")
---> 12         ''')

D:\workspace\lib\site-packages\rpy2\robjects\__init__.py in __call__(self, string)
    350     def __call__(self, string):
    351         p = _rparse(text=StrSexpVector((string,)))
--> 352         res = self.eval(p)
    353         return conversion.ri2py(res)
    354 

D:\workspace\lib\site-packages\rpy2\robjects\functions.py in __call__(self, *args, **kwargs)
    176                 v = kwargs.pop(k)
    177                 kwargs[r_k] = v
--> 178         return super(SignatureTranslatedFunction, self).__call__(*args, **kwargs)
    179 
    180 pattern_link = re.compile(r'\\link\{(.+?)\}')

D:\workspace\lib\site-packages\rpy2\robjects\functions.py in __call__(self, *args, **kwargs)
    104         for k, v in kwargs.items():
    105             new_kwargs[k] = conversion.py2ri(v)
--> 106         res = super(Function, self).__call__(*new_args, **new_kwargs)
    107         res = conversion.ri2ro(res)
    108         return res

RRuntimeError: Error in library(CALIBERdrugdose) : 
  there is no package called 'CALIBERdrugdose'

1 Ответ

0 голосов
/ 08 мая 2018

Сообщение об ошибке, возвращаемое R, указывает на отсутствие пакета, который вы хотели бы использовать, или, скорее, на неспособность R найти его для загрузки.

...