R 回归中的列名循环

R 回归中的列名循环,r,R,我想对数据帧中的每个变量运行一整批回归,然后随着循环的进行,将每个回归的剩余偏差值存储在一个新的向量中 该帧称为“cw”。前几个变量只是元数据,所以忽略它们。我尝试以下方法: deviances<-c() for (x in colnames(cw)[1:8]){deviances[x]<-NA} for (x in colnames(cw)[8:27]){ model<-glm(cwonset ~ x, fmaily = binomial, data = cw) ap

我想对数据帧中的每个变量运行一整批回归,然后随着循环的进行,将每个回归的剩余偏差值存储在一个新的向量中

该帧称为“cw”。前几个变量只是元数据,所以忽略它们。我尝试以下方法:

deviances<-c()
for (x in colnames(cw)[1:8]){deviances[x]<-NA}
for (x in colnames(cw)[8:27]){
  model<-glm(cwonset ~ x, fmaily = binomial, data = cw)
  append(deviances, model$deviance)
}

知道为什么吗?

没有数据,我不得不依靠
mtcars
来帮助你,也不需要
进行
循环。我假设
mpg
为因变量

逻辑:
sapply
帮助我一次遍历每个colname,然后我就回归了它。但它在内部是一个
for
循环

sapply(colnames(mtcars[-1]), function(x) {
                                        form <- as.formula(paste0("mpg~", x))
                                        model <- glm(form, data = mtcars)
                                        model$deviance})
#      cyl     disp       hp     drat       wt     qsec       vs       am     gear     carb 
# 308.3342 317.1587 447.6743 603.5667 278.3219 928.6553 629.5193 720.8966 866.2980 784.2711 
sappy(colnames(mtcars[-1]),函数(x){

表格是一个可复制的例子。这将帮助我们回答这个问题。我完全同意@boshek
sapply(colnames(mtcars[-1]), function(x) {
                                        form <- as.formula(paste0("mpg~", x))
                                        model <- glm(form, data = mtcars)
                                        model$deviance})
#      cyl     disp       hp     drat       wt     qsec       vs       am     gear     carb 
# 308.3342 317.1587 447.6743 603.5667 278.3219 928.6553 629.5193 720.8966 866.2980 784.2711