python - 在 `python` 上运行 R 代码,语法错误 : keyword can't be an expression error Message

标签 python r rpy2 statistics

我希望在 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 , herehere但没有运气。 有谁知道该错误消息是什么意思并且有办法解决它吗?

谢谢!

最佳答案

您不能使用 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)

这将解决语法问题。

关于python - 在 `python` 上运行 R 代码,语法错误 : keyword can't be an expression error Message,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16551373/

相关文章:

python - 在python中使用rpy2将分位数输入ggplot geom_boxplot

python - 分段函数: Find equation and solve it using data points

r - 特定时间跨度内的推文 (TwitteR)

r - "fuzzy key matching"用于 data.table 合并

python - 发送到 X11 的 rpy 作的图突然关闭?

python - Python 中的多维/多变量动态时间规整 (DTW) 库/代码

Python - 如何在现有矩阵中随机添加 n 个零?

Python:WAITING时接受输入

python - 单击单独文件中的命令

使用非数值 reshape R 中的数据框