【问题标题】:Merging multiple data frames using only a loop in R仅使用 R 中的循环合并多个数据帧
【发布时间】:2021-07-21 05:35:08
【问题描述】:

我有多个数据集,由函数return_page(page)返回,其中'page'分别表示页码。每个数据集具有相同的行数和列数,并且每页也具有相同的名称。 我需要合并 5 个页面以仅使用 FOR 循环创建一个数据框。到目前为止,我已经使用以下函数完成了它:

data <- rbind(return_page(1),return_page(2),return_page(3),return_page(4),return_page(5))

但是,它不能满足我的需求,因为它不是循环并且使用硬编码。请告诉我如何使用循环来完成这项任务。

【问题讨论】:

  • 请注意:R 是一种矢量化语言,您通常希望避免使用 for 循环。查看更多here

标签: r loops for-loop while-loop


【解决方案1】:

你可以在这里使用 apply 或 map 函数:

library(purrr)

map(1:5, return_page)%>%rbind.data.frame(.)

对于仅限于 for 循环的解决方案,请参阅下面@Soldalma 的回答

【讨论】:

  • 感谢您的回复!但是是否可以将其作为一个循环来执行(因为我需要完全按照 FOR 或 WHILE 循环来执行此操作)?
【解决方案2】:

你试过了吗?

df <- return_page(1)

for (i in 2:5) {
  df <- rbind(df, return_page(i))
}

【讨论】:

  • 我刚试过这个,它奏效了!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多