我正在尝试不同的回归模型。我的最终目标是拥有一个易于阅读的3列数据框:
model_results <- data.frame(name = character(),
rmse = numeric(),
r2 = numeric())
然后在运行每个模型之后,将相应的输出添加到数据框中,然后在最后审查并决定使用哪个模型。
我试过了:
mod.spend_transactions.results <- list("mod.spend_transactions",
rsme(residuals(mod.spend_transactions)),
summary(mod.spend_transactions)$r.squared)
我尝试使用列表,因为我知道向量只能存储一种数据类型(对吗?)。
输出:
rbind(model_results, mod.spend_transactions.results)
X.mod.spend_transactions. X12.6029444519635 X0.912505643567096
1 mod.spend_transactions 12.60294 0.9125056
关闭但不是我所知道的,因为df名称已被更改,我没想到。
所以我尝试了矢量,这些矢量有效,但看起来很笨拙&#34;因为我确信我可以用更少的代码来做到这一点:
vect_modname <- vector()
vect_rsme <- vector()
vect_r2 <- vector()
然后运行模型后
vect_modname <- c(vect_modname, "mod.spend_transactions")
vect_rsme <- c(vect_rsme, rsme(residuals(mod.spend_transactions)))
vect_r2 <- c(vect_r2, summary(mod.spend_transactions)$r.squared)
然后在运行所有模型的最后我测试了
data.frame(vect_modname, vect_rsme, vect_r2)
同样,矢量方法确实有效。但是,有更好的&#34;更优雅的方式吗?