1

我有一个数据框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上面的数据框中列出这些。

4

0 回答 0