gpt4 book ai didi

python - 使用rpy2,如何调用变量名中包含 "."的函数?

转载 作者:行者123 更新时间:2023-12-01 08:03:23 25 4
gpt4 key购买 nike

我想使用 rpy2 调用 R Leaps 包中的 regsubsets 函数。正弦似乎没有Python等效项(至少我没有找到)。

import pandas
import rpy2.robjects as robjects
from rpy2.robjects import pandas2ri
import rpy2.robjects.packages as rpackages

pandas2ri.activate()
leaps = rpackages.importr("leaps")


x = pandas.DataFrame(np.random.randn(10,10))
y = pandas.DataFrame(np.random.randn(10))

leaps.regsubsets(x=x, y=y, nbest=10, nvmax=3, really.big=T)

调用该函数确实需要参数really.big=T。这当然行不通,因为在 python 中.与 R 不同,它有一个直接函数。(我得到一个“语法错误:关键字不能是表达式”)。谁能告诉我如何从 rpy2 调用它?

我尝试使用像 leaps.regsubsets({"x":x ... "really.big":T}) 这样的 kwargs 来做到这一点,但这也不起作用,我也不知道 R 中的“T”是什么。

好的,我发现"." gets transleted to "_" 。但遗憾的是它仍然不起作用,不知何故,这个论点没有得到传递。

leaps.regsubsets(x=X, y=Y, nbest=10, nvmax=3, really_big=True)

仍然给我错误:R运行时错误:

Error in leaps.exhaustive(a, really.big = really.big) : 
Exhaustive search will be S L O W, must specify really.big=T

最佳答案

rpy2-2.2.x 注释中的文档链接相当旧。当前版本的文档位于:

https://rpy2.github.io/doc/v3.0.x/html/robjects_functions.html

否则,文档相当清楚地表明几乎不可能提取 R 省略号中可以接受的参数(...)(这就是 @CristiFati 在评论中指出的) .

您可以在 ** 中使用语法无效的参数名称。例如这里:

leaps.regsubsets(x=x, y=y,
nbest=10, nvmax=3,
**{'really.big': true})

关于python - 使用rpy2,如何调用变量名中包含 "."的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55637122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com