2016-05-12 12 views
2

パッケージのlmer()関数を使用して、混合効果モデルを作成しました。 lme4パッケージは、いくつかの良い哲学的理由のために係数のp値を出力しません。しかし、私はまだ私の出版物で報告するためにp値が必要です。 lmer()で作成されたモデルを使用してp値を計算する方法は複数あります。 herebroom :: tidy()を使用してlme4 :: lmer()によって作成された線形混合効果モデルからp値を計算するには?

私の問題は:パッケージのtidy()機能を使用してp値を抽出したいと思います。ここで、私は次のパイプラインを維持したいので、私は本当にtidy()に固執したい:

data_frame %>% group_by(grouping variables) %>% do(tidy(fitted_model)) 

1つのオプションは、カスタム関数を作成し、パイプラインにそれを追加することです。しかし、broomパッケージ(http://rpackages.ianhowson.com/cran/broom/man/lme4_tidiers.html)のmanページは言う:これにより

"p.value P-value computed from t-statistic (may be missing/NA)". 

は、私はすでにほうきに実装されていlmerモデルによって与えられたt値からp値を計算する機能を想定しています。だから、私は車輪を再発明することに消極的です。

問題は、p.valueという名前の列が得られないことです。私は最悪の場合のシナリオとして、NAsを持つp.valueという名前の列を期待していました。

コード:

library(lme4) 
library(broom) 
lme <- lmer(Reaction ~ Days + (1 + Days | Subject), sleepstudy) 
tidy(lme) 
tidy(lme, effects = "fixed") 

出力:あなたはp値を得るために、パッケージlmerTestが必要になります

> tidy(lme) 
         term  estimate std.error statistic group 
1     (Intercept) 251.40510485 6.824557 36.838306 fixed 
2       Days 10.46728596 1.545789 6.771485 fixed 
3  sd_(Intercept).Subject 24.74045195  NA  NA Subject 
4    sd_Days.Subject 5.92213312  NA  NA Subject 
5 cor_(Intercept).Days.Subject 0.06555113  NA  NA Subject 
6  sd_Observation.Residual 25.59181564  NA  NA Residual 
> tidy(lme, effects = "fixed") 
     term estimate std.error statistic 
1 (Intercept) 251.40510 6.824557 36.838306 
2  Days 10.46729 1.545789 6.771485 
+0

p値を自分で計算する必要があるようです。 – Bulat

答えて

4

tidylmeオブジェクトでは機能せず、フォーマットに追加する必要があります。

attach(mtcars) 
lme <- lmer(mpg ~ cyl + (1 + cyl | carb), mtcars) 
summary(lme) 
+0

lmertestはR 3.4.1で動作しないようです –

関連する問題