【发布时间】:2014-10-24 10:39:22
【问题描述】:
我正在尝试在 R 中重现二项式 glm 的结果。
考虑来自这里的数据http://www.ats.ucla.edu/stat/r/dae/logit.htm
mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv")
我可以使用以下方法拟合模型:
model <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial")
并且,仅使用对象重现模型:
model_r <- glm(as.numeric(model$y)~0+model.matrix(model), family = binomial)
cbind(coef(model), coef(model_r))
## [,1] [,2]
## (Intercept) -3.44954840 -3.44954840
## gre 0.00229396 0.00229396
## gpa 0.77701357 0.77701357
## rank -0.56003139 -0.56003139
现在假设列admit 是列中的论文数n 中的成功数:
mydata$n <- 1 + rbinom(n = 400, size = 2, prob = 0.5)
现在我必须使用以下方法拟合模型:
model <- glm(cbind(admit, n-admit) ~ gre + gpa + rank, data = mydata,
family = "binomial")
如何仅使用模型对象重现此模型?我问这个是因为 R 只保留 model$y 中的成功率。
【问题讨论】:
-
“复制”模型的目的是什么?
-
也许这不是我应该问的问题。我需要使用拟合概率生成二项式样本,所以我试图让
n用于拟合。 -
现在用你的第二种方法我可以很容易地得到我想要的。谢谢
-
你可以使用
model$data$n。
标签: r statistics glm