我有一个数据框model.vars
,其中包含要执行逻辑回归的离散化数据,如下所示:
for(i in varnames)
{
modelformula = paste("dep_var~ ", as.factor(i))
modelfits[[i]] = glm(as.formula(modelformula),
data=model.vars ,na.action="na.exclude",
family=binomial(link = "logit"))
}
这反过来使用转换为数据帧
fits = ldply(modelfits, function(x) {
as.data.frame((coef(summary(x))),
row.names=varnames)})
但是,存储在其中的结果输出modelfits
不包含为每个离散变量指定相关级别标签的列。相反,我得到类似的东西
.id Estimate Std. Error zscore Pr(>|z|) abs.zscore
1 Twenty_80.age -0.6911487 0.2813814 -2.456270 1.403875e-02 2.4562
2 Ten_80_10.age -1.0021909 0.2682952 -3.735403 1.874144e-04 3.735403
3 Twenty_80.score -0.7023356 0.3315694 -2.118216 3.415679e-02 2.118216
不幸的是,我们需要将输出作为数据框(而不是列表)。添加一个额外的列给我们级别标签的最佳方法是什么?例如,打印出原始modelfits
变量的语句如下:
Coefficients:
(Intercept) Twenty_80.score[ 11, 19) Twenty_80.score[ 19, 31) Twenty_80.score[ 31,312]
我也希望在fits
上面的数据框中列出这些。