Pregunta

cómo configurar Sweave Es un trabajo y reconocer para Rpy2?

Yo uso este

 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)']

pero consigo estos errores

[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):]

Gracias por sus respuestas y ayuda

¿Fue útil?

Solución

Use corchetes para obtener un objeto R, entonces llamaremos a partir de Python. O uso () soportes para pasar una línea a R:

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

Sweave necesita un capital de S (en mis pruebas).

Otros consejos

Uh, hace este trabajo? Usted no está haciendo todas las invocaciones del R [] de la misma manera.

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")

(nunca he usado Rpy2 así que esto es totalmente adivinando.)

Usando el importador paquete R le permitiría utilizar la terminación automática en su IDE o shell interactivo y hacer que el código sea más Python similar.

from rpy2.robjects.packages import importr
utils = importr('utils')
utils.Sweave("/var/www/tmp/pywps/central.Rnw")
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top