2017-03-04 148 views
2

我正在嘗試使用Python進行Dirichlet迴歸。不幸的是,我找不到能完成這項工作的Python軟件包。所以我試圖用rpy2來調用R庫DirichletReg。但是,如何調用迴歸函數,如DirichReg(Y ~ X1 + X2 + X3, data=predictorData),其中Y = DR_data(compositionalData)不是很直觀。我在rpy2的文檔中看到了一個調用線性迴歸函數lm的示例。但是我的情況稍有不同,因爲Y不是表中的列名,而是R對象DR_data使用rpy2從Python調用R庫DirichletReg

我想知道正確的方法是做到這一點的,或者是否有一個Python包狄氏迴歸。

回答

1

您可以發送對象爲從蟒蛇「公式」的環境。這個例子來自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環境(公式外部)創建命名變量。見here。最壞的情況,您可以通過rpy2橋描述here還可以將一些你的Python數據爲R通過rpy2,然後發出命令直接在R上。

+0

謝謝諾亞。這工作。 – LinX