4

パッケージlmListからを使用して、共通モデルを持つグループの信頼区間を計算しようとしています。lme4通常の線形モデルでは正常に機能しますが、従属変数が二分されている場合は失敗します。たとえば、これは正常に機能します。

d <- data.frame(
  g = sample(c("A","B","C","D","E"), 250, replace=TRUE),
  y1 = runif(250, max=100),
  y2 = sample(c(0,1), 250, replace=TRUE)
)

library(lme4)

fm1 <- lmList(y1 ~ 1 | g, data=d)

を使用して係数を抽出し、を使用coef(fm1)して係数の信頼区間を抽出できconfint(fm1)ます。次に、二分された結果のモデルを実行します。

fm2 <- lmList(y2 ~ 1 | g, data=d, family=binomial)

を使用して係数を取得することはできますcoef(fm2)が、信頼区間を取得しようとすると、エラーが発生します。

> confint(fm2)
Waiting for profiling to be done...
Waiting for profiling to be done...
Error in val[, , i] <- eval(mCall) : incorrect number of subscripts

GLMの信頼区間がわからないのではないかと思ったので、もともとstats.stackexchangeに投稿するつもりでしたが、それでも信頼区間を取得できることがわかりました。

by(d, d$g, function(x) confint(glm(y2 ~ 1, data=x, family=binomial))) 

を使用してこれを行う方法はありlmListますか?

> sessionInfo()
R version 2.15.0 (2012-03-30)
Platform: x86_64-pc-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252  
[3] LC_MONETARY=German_Germany.1252 LC_NUMERIC=C                  
[5] LC_TIME=German_Germany.1252   

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base    

other attached packages:
[1] lme4_0.999375-42 Matrix_1.0-6     lattice_0.20-6 

loaded via a namespace (and not attached):
[1] grid_2.15.0   MASS_7.3-17   nlme_3.1-103  stats4_2.15.0 tools_2.15.0 
4

1 に答える 1

2

それは確かにバグです、私は修正に取り組んでいます。それはかなり簡単であることがわかります。基本的な問題は、データフレームを返しconfint.lmながら行列を返すことです。confint.glm

一般に、最も些細なバグ修正を除くすべてをhttp://r-forge.r-project.org/tracker/?atid=298&group_id=60&func=browseのバグトラッカーに投稿することを強くお勧めします(Rコアの態度について不満を述べていますバグレポートに向けて、一貫性を保つために私は自分のルールに従わなければなりません...)レポートをありがとう!

于 2012-06-25T10:00:19.583 に答える