可能重复:
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'。
答案 0 :(得分:6)
您需要公式表示法中的.
特殊符号。此外,在单个数据框中拥有响应和预测变量可能更好。
尝试:
MFDU <- cbind(MFDUdep, MFDUind)
ft <- glm(y ~ ., data = MFDU, family = binomial)
既然我已经给你绳子了,我不得不至少警告你有可能挂... ...
您正在采取的方法通常不是推荐方法,除非预测是模型的目的。所选变量的回归系数可能存在很大的偏差,因此如果您将其用于启蒙,那么请重新考虑您的方法。
您还需要大量观察才能在模型中使用100多个术语。
存在更好的替代方案;例如请参阅 glmnet 包中的一种方法,该方法允许系数集上的岭,套索或两者(弹性网)约束,这允许人们以少量额外的代价来最小化模型误差偏压。