gpt4 book ai didi

r - 从 `lmList` 开始的广义线性模型的置信区间

转载 作者:行者123 更新时间:2023-12-04 23:53:15 25 4
gpt4 key购买 nike

我正在尝试使用 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

我最初打算将此发布到 stats.stackexchange 因为我认为这可能是我对 GLM 的置信区间不了解的事情,但后来我发现我仍然可以使用
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

最佳答案

这确实是一个错误,我正在修复。结果证明相当简单:基本问题是 confint.lm返回一个矩阵,而 confint.glm返回一个数据框。

一般我强烈建议在 http://r-forge.r-project.org/tracker/?atid=298&group_id=60&func=browse 将除最微不足道的错误修复之外的所有错误修复发布到错误跟踪器(我提示 R-core 对错误报告的态度,所以为了保持一致性,我必须遵循我自己的规则......)感谢您的报告!

关于r - 从 `lmList` 开始的广义线性模型的置信区间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11141091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com