我是R的完全新手。
我估计有以下logit等式:
allAM <- glm (AM ~ VS + Prom + LS_Exp + Sex + Age + Age2 + Jpart + X2004LS + X2009LS + X2014LS + factor(State), family = binomial(link = "logit"), data = mydata)
AM是标准二进制文件(发生/未发生)。三个“X **** LS”变量是虚拟对象,表示会议的不同会话,“因素(状态)”用于为每个州生成固定效果/虚拟对象。
VS是感兴趣的关键自变量,我希望为0到60之间的VS的每个值生成AM = 1的谓词概率,并将其他所有值保持为平均值。
然而,我遇到了麻烦,因为“状态”是一个因素,因此产生并绘制预测的概率。我希望能够显示平均效果,而不是每个州显示50种不同的图表/效果。
Per(Hanmer and Kalkan 2013)http://onlinelibrary.wiley.com/doi/10.1111/j.1540-5907.2012.00602.x/abstract我被建议做以下事项来绘制预测的概率:
pred.seq <- seq(from=0, to=60, by=0.01)
pred.out <- c()
for(i in 1:length(pred.seq)){
mydata.c <- mydata
mydata.c$VS <- pred.seq[i]
pred.out[i] <- mean(predict(allAM, newdata=mydata.c, type="response"))
}
plot(pred.out ~ pred.seq, type="l")
这种方法似乎有效,但我并不理解。
我想在情节中添加上下95%置信区间,但是当我尝试手工操作时,我知道如何:
lower <- pred.out$fit - (1.96*pred.out$se.fit)
upper <- pred.out$fit + (1.96*pred.out$se.fit)
我收到以下错误:
pred.outfit错误:fit:运算符对原子向量无效
任何人都可以建议我如何绘制置信区间以及如何指定不同级别的VS以便我可以报告一些特定的预测概率?