我想检查lm中的R2是否有相同数据集上的不同公式。
我不想使用循环,而是从一个向量传递公式,并在另一个向量中获取R2集。
我尝试了以下代码。
data(mtcars)
formulas <- paste("mpg~",colnames(mtcars[2:11]))
R_square <- summary(lm(data=mtcars,formulas))$r.squared
我希望R_square向量包含与公式向量一样多的值,但是它只有一个值。
它的工作原理就像为第一个公式只构建了一个模型。
有办法解决吗?
答案 0 :(得分:0)
您可能正在寻找类似的东西:
R_square <- sapply(formulas,
function(x) summary(lm(x, data = mtcars))$r.squared)
> R_square
mpg~ cyl mpg~ disp mpg~ hp mpg~ drat mpg~ wt mpg~ qsec mpg~ vs
0.7261800 0.7183433 0.6024373 0.4639952 0.7528328 0.1752963 0.4409477
mpg~ am mpg~ gear mpg~ carb
0.3597989 0.2306734 0.3035184