【发布时间】:2015-10-14 20:29:06
【问题描述】:
我正在尝试识别相关的解释变量并消除。我正在使用 Sapply 将回归应用于我感兴趣的变量,并手动删除 FIV > 10 的变量。但是,当我尝试重现它以快速运行许多 vif 时,我无法获得我的回归脚本使用包含我要保留的名称的粘贴公式对象运行。下面:
regressiondata <- data.frame(matrix(ncol=9,nrow=100,runif(900,1,100)))
colnames(regressiondata) <- c("indep1","indep2","indep3","indep4","var1","var2","var3","var4","var5")
vifs1_model <- sapply(regressiondata[,indep_variables],function(x) vif(lm(x~var1+var2+var3+var4+var5,
data = regressiondata,
na.action=na.exclude)))
vifs1 <- rowMeans(vifs1_model)
formula_variables <- paste(names(vifs1),collapse="+")
final_model <- t(round(sapply(regressiondata[,indep_variables],
function(x) lm(x ~ formula_variables,data=regressiondata,na.action=na.exclude)$coef),2))
当我运行“final_model”时出现此错误:
t(round(sapply(regressiondata[, indep_variables], function(x) lm(x ~ : 在为函数“t”选择方法时评估参数“x”时出错:model.frame.default 中的错误(公式 = x ~ 公式_变量,数据 = 回归数据,: 可变长度不同(为 'formula_variables' 找到)
【问题讨论】:
标签: r regression sapply