我使用lme4
軟件包中的lmer()
函數構建了一個混合效果模型。 lme4
軟件包由於某些良好的哲學原因而不輸出係數的p值。但是,我仍然需要在我的出版物中報告p值。我知道有多種方法可以使用由lmer()
創建的模型來計算p值,例如, here。如何使用broom :: tidy()從由lme4 :: lmer()創建的線性混合效果模型計算p值?
我的問題是:我想使用broom
包中的tidy()
函數提取p值。在這裏,我真的要與tidy()
堅持,因爲我想維護以下管道:
data_frame %>% group_by(grouping variables) %>% do(tidy(fitted_model))
一種選擇是創建一個自定義功能,並追加到管道。然而,broom
包(http://rpackages.ianhowson.com/cran/broom/man/lme4_tidiers.html)的手冊頁說:
"p.value P-value computed from t-statistic (may be missing/NA)".
通過這個我假設一個函數從11聚物通過模型給出的t值已經在掃帚已經實現計算p值。所以,我不願意重新發明輪子。
問題是我沒有得到名稱爲p.value的列。我期待將一個名爲p.value的列作爲最壞情況的NAs。
代碼:
library(lme4)
library(broom)
lme <- lmer(Reaction ~ Days + (1 + Days | Subject), sleepstudy)
tidy(lme)
tidy(lme, effects = "fixed")
輸出:
> 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
它看起來像你將不得不自己計算p值。 – Bulat