【问题标题】:Runing R code on `python` with SyntaxError: keyword can't be an expression error Message在 `python` 上使用 SyntaxError 运行 R 代码:关键字不能是表达式错误消息
【发布时间】:2013-05-09 05:13:30
【问题描述】:

我希望在 python 上运行一些 R 代码

我已经使用apt-get install r-cran-robustbase 和rpy packege 在ubunto 上安装了R 包robustbase。

从 python 控制台我可以成功运行 from rpy import * 和 r.library("robustbase") 但是当我运行时

result = robjects.FloatVector([11232.1, 234.2, 3445532344.3, 34302.3, 203.9, 232223.3, 3434.55])
print(result.r_repr())
r(adjboxStats(c(11232.1, 234.2, 3445532344.3, 34302.3, 203.9, 232223.3, 3434.55), coef = 2.5, a = -4, b = 3, do_conf = TRUE, do_out = TRUE))

获取异常值

但我收到此错误:

adjboxStats(c(11232.1, 234.2, 3445532344.3, 34302.3, 203.9, 232223.3, 3434.55), coef = 2.5, a = -4, b = 3, do.conf = TRUE, do.out = TRUE)
SyntaxError: keyword can't be an expression

当我在 R 控制台上运行它时,它可以工作!!!

library("robustbase")
adjboxStats(c(11232.1, 234.2, 3445532344.3, 34302.3, 203.9, 232223.3, 3434.55), coef = 2.5, a = -4, b = 3, do.conf = TRUE, do.out = TRUE)

我搜索 here 、 here 和 here 但没有运气。 有谁知道那个错误信息是什么,有没有办法解决它?

谢谢!

【问题讨论】:

  • 您不能将do.conf 或do.out 用作Python 函数的参数(即使该函数将被转换为R)。
  • 正确,我必须使用 do_conf 和 do_out 对吗?我知道的就这么多:)
  • @mongotop:如果您已经知道,为什么不进行更改(这将修复此错误)而不是询问?
  • adjboxStats 定义在哪里?
  • 你本来打算做r("adjboxStats"),但其余的请看我的回答。

标签: python r rpy2 statistics


【解决方案1】:

您不能将do.conf 或do.out 用作Python 函数的参数(即使该函数将被转换为R)。

请改用do_conf 和do_out。然后你被另一个错误绊倒了,这就是你引用r("adjboxStats")的方式:

r("adjboxStats")(result, coef = 2.5, a = -4, b = 3, do_conf = True, do_out = True)

这将解决语法问题。

【讨论】:

  • 它做到了!!!它回答了我的问题,我会将其标记为已接受!!!非常感谢,我可以问你一个独立的问题,我得到什么 c 未定义错误?我在这里阅读时只是将其用作矢量hosho.ees.hokudai.ac.jp/~kubo/Rdoc/library/robustbase/html/…
  • c 是 R 函数,它不是 Python 函数。而是使用r.c。
  • 嗨,大卫,非常感谢!我尝试了 r.c 并且我的代码在执行时停止,执行不会完成并且它挂起,每次我运行脚本时我都必须终止进程,你知道为什么会发生这种情况吗?再次非常感谢!
  • @mongotop 您能否将此作为一个新问题发布,包括一个完全可重现的示例?也就是说,它应该有一个 Python 代码的 sn-p,只要有人运行该确切的代码并安装了 rpy2(并安装了robustbase),它应该给出相同的错误?
  • @mongotop:哦- 看起来你刚刚做了
猜你喜欢
  • 1970-01-01
  • 2012-07-22
  • 1970-01-01
  • 1970-01-01
  • 2020-02-10
  • 1970-01-01
  • 2016-09-26
  • 2013-06-04
  • 2019-10-07
相关资源
最近更新 更多