2017-03-04 4 views
2

私はPythonを使用してディリクレ回帰をしようとしています。残念ながら私は仕事をするPythonパッケージを見つけることができません。だから私はrpy2を使ってRライブラリDirichletRegを呼び出しようとしました。しかし、DirichReg(Y ~ X1 + X2 + X3, data=predictorData)などの回帰関数をどのように呼び出すかは、私にとっては直感的ではありません。ここでは、Y = DR_data(compositionalData)です。私は、線形回帰関数lmを、rpy2のドキュメントで呼び出した例を見ました。しかし、私の場合はYが表の列名ではなく、RオブジェクトDR_dataであるため、わずかに異なります。Rライブラリを呼び出すDirichletReg Pythonからrpy2を使用

Dirichlet回帰のためのPythonパッケージがあるかどうか、これを行うにはどうすればよいのでしょうか。

答えて

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環境(数式の外)で作成することもできます。 hereを参照してください。最悪のシナリオでは、Pythonデータをrpy2を介してRに移動し、次にhereのようにrpy2ブリッジを介してRで直接コマンドを発行します。

+0

ありがとうございました。これは機能します。 – LinX

関連する問題