как настроить Sweave это работает и распознает для Rpy2? - PullRequest
0 голосов
/ 12 ноября 2010

как настроить Sweave, он работает и распознает Rpy2?

Я использую это

 import rpy2.robjects as robjects

  R["library"]("utils")
  R["library"]("tools")
  R['sweave("/var/www/tmp/pywps/central.Rnw")']
  R['texi2dvi("/var/www/tmp/pywps/central.tex", pdf=TRUE)']

, но я получаю эти ошибки

[File "/usr/lib/python2.6/dist-packages/rpy2/robjects/__init__.py", line 241, in   __getitem__
    res = rinterface.globalenv.get(item)
    LookupError: 'Sweave("/var/www/tmp/pywps/central.Rnw")' not found
     Traceback (most recent call last):]

спасибо за ваши ответыи помощь

Ответы [ 3 ]

2 голосов
/ 12 ноября 2010

Используйте квадратные скобки, чтобы получить объект R, затем вызовите его из Python.Или используйте скобки (), чтобы передать строку в R:

R["Sweave"]("/var/www/tmp/pywps/central.Rnw")
R('Sweave("/var/www/tmp/pywps/central.Rnw")')

Для Sweave требуется заглавная буква S (в моих тестах).

1 голос
/ 12 ноября 2010

Использование средства импорта пакетов R позволит вам использовать автозаполнение в вашей IDE или интерактивной оболочке и сделает код более похожим на Python.

from rpy2.robjects.packages import importr
utils = importr('utils')
utils.Sweave("/var/www/tmp/pywps/central.Rnw")
1 голос
/ 12 ноября 2010

Э-э, это работает? Вы не выполняете все вызовы R [] одинаково.

import rpy2.robjects as robjects

R["library"]("utils")
R["library"]("tools")
R["sweave"]("/var/www/tmp/pywps/central.Rnw")
R["texi2dvi"]("/var/www/tmp/pywps/central.tex", "pdf=TRUE")

(я никогда не использовал Rpy2, так что это совершенно неясно).

...