ldply() を使用して GLM モデルのリストから逸脱度を抽出したい
サンプルデータ (R ベースのインストールから):
library(reshape2)
library(plyr)
mtcars.1 <- mtcars[, c("am", "qsec" , "drat") ]
mtcars.m <- melt(mtcars.1, id= 1 )
glm.cars <- dlply( mtcars.m , .(variable) ,
glm, formula= am ~ value , family=binomial )
ここまで来ました:
ldply( glm.cars , summarise , "Null Deviance" = null.deviance ,
"Residual Deviance" = deviance , "Deviance"= "??" )
これにより、次のようになります。
variable Null Deviance Residual Deviance Deviance
1 qsec 43.22973 41.46512 ??
2 drat 43.22973 21.65003 ??
逸脱がありません!どうやって抽出するの?
では、上記の例の逸脱を抽出するにはどうすればよいでしょうか。
もちろん、 null.deviance + deviance を実行することもできますが、そのように実行したくはありません。私が G 統計をもっとよく知りたいと思ったのはそのためだと思います。抽出、減算、および chisqr の実行の手順を踏んでいると感じています。よりよく学習します。
PS私はそのglm.model $ deviancを見つけるのに非常に混乱していました