【问题标题】:how to configure Sweave it's work and recognize for Rpy2?如何配置 Sweave 它的工作并识别 Rpy2?
【发布时间】:2010-11-11 23:32:21
【问题描述】:

如何为 Rpy2 配置 Sweave 它的工作和识别?

我用这个

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

感谢您的回答和帮助

【问题讨论】:

    标签: python r sweave rpy2


    【解决方案1】:

    使用方括号获取 R 对象,然后从 Python 中调用它。或者使用 () 括号将一行传递给 R:

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

    Sweave 需要一个大写的 S(在我的测试中)。

    【讨论】:

      【解决方案2】:

      呃,这行得通吗?您不会以相同的方式执行所有 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,所以这完全是猜测。)

      【讨论】:

        【解决方案3】:

        使用 R 包导入器可以让您在 IDE 或交互式 shell 中使用自动完成功能,并使代码更像 Python。

        from rpy2.robjects.packages import importr
        utils = importr('utils')
        utils.Sweave("/var/www/tmp/pywps/central.Rnw")
        

        【讨论】:

          猜你喜欢
          • 2011-05-08
          • 2021-02-09
          • 1970-01-01
          • 1970-01-01
          • 2021-10-05
          • 1970-01-01
          • 2017-03-18
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多