1

我正在寻找运行一些R代码python

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

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

在这里这里这里搜索,但没有运气。有谁知道该错误消息是什么,有没有办法解决它?

谢谢!

4

1 回答 1

4

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

相反,打电话给他们do_confdo_out。然后,您被另一个错误绊倒了,这就是您所指的r("adjboxStats")

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

这将解决语法问题。

于 2013-05-14T20:07:34.850 回答