变量选择中的计数器

时间:2014-05-03 18:10:21

标签: r

我正在运行以下代码,工作正常:

model <- NULL 
summary <- NULL 
stepwise <- NULL 
for (i in 1:100){
model[[i]] <- lm(r[[i]]~x1[[i]]+x2[[i]]+x3[[i]]+noise1[[i]]+noise2[[i]]+noise3[[i]]+noise4[[i]]+noise5[[i]]+noise6[[i]]+noise7[[i]])
summary[[i]] <- summary(model[[i]])$coefficients 
stepwise[[i]] <- step(model[[i]], direction="both")$coefficients 
}

我想设置一个计数器来跟踪存储在逐步列表中的变量。我想要计算每个变量(x1,x2,x3,noise1,noise2,noise3,noise4,noise5,noise6,noise7)出现的次数。我在想这样的事情

createCounter <- function(VALUE){
  for (i in 1:100){ 
    output <- VALUE <- VALUE+i
    return(output)
  }
}

但我不知道如何微调它,以便R知道如果逐步列表包含特定变量,则计算一个值。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

嗯,step()$ coefficients返回系数的命名向量。虽然值包含实际系数,但向量上的名称存储变量的实际名称。因此,您可以使用

从所有100个模型中提取和计算所有变量名称
table(unlist(lapply(stepwise, function(x) names(x))))