在 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
}
我正在尝试循环 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
}