首页 > 解决方案 > R中有没有办法将循环的每次迭代存储到一个单独的变量中?

问题描述

我正在尝试将一些描述性的小标题存储到单独的变量中。更具体地说,我正在将数据汇总到小标题中,这些小标题描绘了特定年份(1987-2016)的国家列表和每个国家的人口。每次迭代代表一年。我当前的重复循环(见下文)效果很好,但我希望能够将每次迭代存储到一个单独的变量中,以便以后可以将这些变量组合成一个描述性的视觉效果。

x = 1987
repeat {
  print(subset(data, year == x) %>%
    group_by(country) %>%
    summarize(sum(population)))
    x = x + 1
    if (x > 2016) {
    break
    }
  }

非常感谢!

标签: rloopstibblestoring-data

解决方案


您可以将结果存储在列表中:

x = 1987
l <-list()
repeat {
  l[[as.character(x)]]<-print(subset(data, year == x) %>%
    group_by(country) %>%
    summarize(sum(population)))
    x = x + 1
    if (x > 2016) {
    break
    }
  }
l

推荐阅读