所以我有一个名为x
. 内容很简单,写出来就行了,这里就简单介绍一下:
Report
第一列中的因变量是二进制是/否(0 = 否,1 = 是)- 随后的 3 列都是分类变量(
race.f
、sex.f
、gender.f
),它们都已转换为因子,并由数字指定(例如 1 = 白色,2 = 黑色等)
我对 x 进行了逻辑回归,如下所示:
glm <- glm(Report ~ race.f + sex.f + gender.f, data=x,
family = binomial(link="logit"))
我可以通过查看来检查拟合概率summary(glm$fitted)
。
我的问题:如何在该数据集的右侧创建第五列,x
其中将包含 的预测(即拟合概率)Report
?当然,我可以只插入glm$fitted
一个列,但我想尝试编写一个代码,根据种族、性别、性别列中的任何内容来预测它,以便更广泛地使用。
现在我遵循以下代码,我希望创建一个预测列以及置信区间的下限和上限。
xnew <- cbind(xnew, predict(glm5, newdata = xnew, type = "link", se = TRUE))
xnew <- within(xnew, {
PredictedProb <- plogis(fit)
LL <- plogis(fit - (1.96 * se.fit))
UL <- plogis(fit + (1.96 * se.fit))
})
不幸的是我得到了错误:
Error in eval(expr, envir, enclos) : object 'race.f' not found
在cbind
代码之后。
有人知道吗?