【问题标题】:Trouble looping through function in R在 R 中循环遍历函数时遇到问题
【发布时间】:2020-12-01 04:48:28
【问题描述】:

我正在尝试遍历 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:""

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

【问题讨论】:

标签: r loops census


【解决方案1】:

当没有可重现的数据时,给出一个完整的答案有点困难。 但是,发生的情况是您不断将新计算保存在同一个变量下。

我创建了一个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
}

【讨论】:

  • 谢谢!这正是我一直在寻找的
  • 很高兴能帮上忙! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多