3

我正在尝试使用 Python 进行 Dirichlet 回归。不幸的是,我找不到可以完成这项工作的 Python 包。所以我尝试DirichletReg使用. 调用 R 库rpy2。但是,对我来说如何调用诸如DirichReg(Y ~ X1 + X2 + X3, data=predictorData)where之类的回归函数并不是很直观Y = DR_data(compositionalData)。我lmrpy2. 但我的情况略有不同,因为Y不是表中的列名而是 R 对象DR_data

我想知道这样做的正确方法是什么,或者是否有用于 Dirichlet 回归的 Python 包。

4

1 回答 1

1

您可以从 python 将对象发送到“公式”环境。此示例来自 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 中发出命令,如此处所述

于 2017-03-08T21:30:21.957 回答