0

R では、コマンド を使用して、fit1 と fit2 などの 2 つの適合モデルを比較できanova(fit1,fit2)ます。

ただし、インターフェイス Rpy2 を使用してこれを同様に実行しようとすると、常にエラーが発生します。anova(fit1) などの単一モデルの anova は、Rpy2 を介して計算できます。

2 つを使用しているときに発生するエラーは次のとおりです。

no method for coercing this S4 class into a vector.

それで、この問題をどのように修正できるか、また、rpy2 で 2 つの適合モデルを比較するにはどうすればよいか知りたいと思いました。

4

1 に答える 1

1

これらの見出しが必要です

 import rpy2.robjects as robjects
 from rpy2.robjects import DataFrame, Formula

次に、これは私のために働いています:

formula = Formula('responsev ~ predictorv')
formula2 = Formula('responsev ~ predictorv2')
dataf = DataFrame({'responsev': robjects.IntVector(Y), \
               'predictorv': robjects.IntVector(X),\
                                'predictorv2': robjects.IntVector(X2)})

fit=robjects.r.lm(formula=formula, data=dataf)
fit2=robjects.r.lm(formula=formula2, data=dataf)

a=robjects.r.anova(fit,fit2)

あなたはまだ処理方法を理解する必要がありますaが、それはマイナーなはずです.

それが役に立てば幸い!

于 2012-01-05T16:41:08.883 に答える