在 R 中循环函数时遇到问题

Trouble looping through function in R

我正在尝试循环 R 中的一个函数。我想循环 62 个存储值,但循环似乎只 运行 并保存最后一个输出。我是循环的新手,认为这可能是一个简单的解决方法

我存储的值是:

    state_county
state:36+county:015
state:36+county:063
state:36+county:007
state:36+county:081
state:36+county:055

我的代码是:

    for (i in state_county)
{
  test <-  getCensus(name = "acs/acs5",
               vintage = 2016, 
               vars = c("NAME", "B19013_001E"), 
               region = "Block Group:*", 
               regionin = i)
}

'regionin' 必须采用以下格式:state:""+county:""

最终结果只会return一个state:36+county:055的数据框(我的存储值集中的最后一个值

在没有可重现数据的情况下,很难给出完整的答案。 但是,发生的情况是您在同一个变量下一遍又一遍地保存新计算。

我创建了一个 list 变量 results 它将保存每次迭代的输出 . 鉴于 state_county 是某种列表或向量,我使用 length 来找出它有多长。接下来,我从一个开始遍历每个项目并将 test 变量保存在 results.

results <- list()
for (i in 1:length(state_county)))
{
  test <-  getCensus(name = "acs/acs5",
                     vintage = 2016, 
                     vars = c("NAME", "B19013_001E"), 
                     region = "Block Group:*", 
                     regionin = state_county[[i]])
  
  results[[i]] <- test
}