将一行不同类型的数据添加到数据帧的一行

时间:2017-04-09 02:32:34

标签: r

我正在尝试不同的回归模型。我的最终目标是拥有一个易于阅读的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;更优雅的方式吗?

0 个答案:

没有答案