使用rpy2从Python调用R库DirichletReg

3
我正在尝试使用Python进行Dirichlet回归。不幸的是,我找不到一个能够胜任此工作的Python软件包。因此,我尝试使用rpy2调用R库DirichletReg。然而,对于如何调用回归函数DirichReg(Y ~ X1 + X2 + X3, data=predictorData)(其中Y = DR_data(compositionalData)),我感到有些困惑。在rpy2的文档中,我看到了调用线性回归函数lm的示例。但我的情况略有不同,因为Y不是表格中的列名,而是一个R对象DR_data
我想知道正确的做法是什么,或者是否有一个Python软件包可以进行Dirichlet回归。
1个回答

1
你可以从Python将对象发送到“Formula”环境中。这个例子来自rpy2文档:
import array
from rpy2.robjects import IntVector, Formula
from rpy2.robjects.packages import importr
stats = importr('stats')

x = IntVector(range(1, 11))
y = x.ro + stats.rnorm(10, sd=0.2)

fmla = Formula('y ~ x')
env = fmla.environment
env['x'] = x
env['y'] = y

fit = stats.lm(fmla)

你可以在R环境中(公式之外)创建命名变量。请参见这里。最坏的情况是,你可以通过rpy2将一些Python数据移入R,然后通过rpy2桥直接在R中发出命令,如这里所述。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接