python - PypeR 问题 "global name ' dump_stdout' 未定义”

标签 python r python-2.7 pyper

您好,提前致谢。

我正在尝试使用 PypeR 模块在 Python 中运行非常简单的代码,以在我的 Python 代码中运行 R 脚本:

#Writing Some Python Code to interface with R

from pyper import *
import sys
import os
import pandas
import glob
import subprocess
import numpy

outputs = runR("a <- 3; print(a+5)")

它会导致以下错误:

Traceback (most recent call last):
  File "C:/Users/gavefl1/Documents/GitHub/Git_R_Test/NewRepo_Python_R/Python_R/MasterFile.py", line 14, in <module>
    outputs = runR("a <- 3; print(a+5)")
  File "C:\Python27\lib\site-packages\pyper.py", line 793, in runR
    Robj = R(RCMD=Robj, max_len=max_len, use_numpy=use_numpy, use_pandas=use_pandas, use_dict=use_dict, host=host, user=user, ssh=ssh, dump_stdout=dump_stdout)
NameError: global name 'dump_stdout' is not defined

我尝试查看实际的 PypeR.py 代码,但据我所知,已定义“dump_stdout”。我的系统规范如下。再次感谢:

Windows 7 64 位 Python 2.7.8 Visual Studio 2008(我读过这是与 Python 一起运行的最佳 Visual Studio Pack) R 3.1.1 PypeR 1.1.2

最佳答案

我认为你的例子来自这里:http://www.jstatsoft.org/v35/c02/paper

该文章发表于 2010 年,很可能对应于 v1.0 https://pypi.python.org/pypi/PypeR/1.0

您可以按如下方式安装 pyper v.1.0。

pip uninstall pyper
pip install pyper==1.0

也就是说,通过执行以下操作,您可以使用当前版本 (1.1.2) 获得相同的结果:

>>> r = R()
>>> outputs = r.("a <- 3; print(a+5)")
>>> outputs
'try({a <- 3; print(a+5)})\n[1] 8\n'

1.0 版本的结果是:

>>> outputs = runR('a <- 3; print(a+5)')
>>> outputs
'try({a <- 3; print(a+5)})\n[1] 8\n'

关于python - PypeR 问题 "global name ' dump_stdout' 未定义”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25860352/

相关文章:

python - Django 和 ElasticBeanstalk : Internal server error, HTTP/2 协议(protocol)将处于非事件状态

python - 如何将 vtkPolyData 的 Polys 保存到数据库并将它们分配给 vtkPoints?

r - R 和 ggplot 中有没有办法创建带有条件几何图形的facet_wrap 图?

r - 在 R 中将 Bing 选项与 taRifx.geo 结合使用

python - 嵌套 For 循环到列表理解

python - 使用未观察到的组件模型模拟时间序列

python - 我可以使用 %f 和 %d 将 float 和整数格式化为列表中的字符串吗?

R中的回归树

Python SimpleHTTPServer 更改服务目录

linux - 谷歌 API OAuth2.0 quickstart.py