在逻辑回归中输入整个数据框作为自变量

时间:2012-12-27 18:12:30

标签: r dataframe regression

  

可能重复:
  short formula call for many variables when building a model

我有一个很大的数据框(112个变量),我想在使用R时进行逐步逻辑回归。我知道如何设置glm模型和stepAIC模型,但是我宁愿不输入所有标题来输入自变量。有没有一种快速的方法可以将glm模型作为独立变量赋予整个数据框,以便将每个列识别为包含在模型中的x变量?我试过了:

ft<-glm(MFDUdep~MFDUind, family=binomial)

但它不起作用(错误的数据类型)。 MFDUdep和MFDUind都是数据帧,MFDUind包含111'x'变量,MFDUdep包含单个'y'。

1 个答案:

答案 0 :(得分:6)

您需要公式表示法中的.特殊符号。此外,在单个数据框中拥有响应和预测变量可能更好。

尝试:

MFDU <- cbind(MFDUdep, MFDUind)
ft <- glm(y ~ ., data = MFDU, family = binomial)

既然我已经给你绳子了,我不得不至少警告你有可能挂... ...

您正在采取的方法通常不是推荐方法,除非预测是模型的目的。所选变量的回归系数可能存在很大的偏差,因此如果您将其用于启蒙,那么请重新考虑您的方法。

您还需要大量观察才能在模型中使用100多个术语。

存在更好的替代方案;例如请参阅 glmnet 包中的一种方法,该方法允许系数集上的岭,套索或两者(弹性网)约束,这允许人们以少量额外的代价来最小化模型误差偏压。