目标:我想在美国每个州的表格中按州获取初次失业申请。
这是我关注的示例:Link
以下是该链接中的代码的简短摘要:
ga_claims <-
"GAICLAIMS" %>%
tq_get(get = "economic.data",
from = "1999-01-01") %>%
rename(claims = price)
第一个过滤器用于佐治亚州。但是,我想在所有州使用它。我能够创建一个csv文件,以将所有状态缩写与'ICLAIMS'连接起来。我只想通过下面的函数传递for循环。附件是我上传的csv的屏幕截图,其中包含所有状态的格式...“ CAICLAIMS”,“ NYICLAIMS”,“ ALICLAIMS”等...
答案 0 :(得分:1)
我们可以创建一个函数:
library(dplyr)
library(tidyquant)
get_data <- function(x) {
x %>%
tq_get(get = "economic.data",from = "1999-01-01") %>%
rename(claims = price)
}
,并通过Claim_Code
传递每个lapply
。
lapply(df$Claim_Code, get_data)
如果您要将其合并到一个数据帧中,我们可以这样做:
do.call(rbind, Map(cbind, lapply(df$Claim_Code, get_data),
Claim_Code = df$Claim_Code))
# date claims Claim_Code
#1 1999-01-02 9674 GAICLAIMS
#2 1999-01-09 19455 GAICLAIMS
#3 1999-01-16 20506 GAICLAIMS
#4 1999-01-23 12932 GAICLAIMS
#5 1999-01-30 10871 GAICLAIMS
#6 1999-02-06 7997 GAICLAIMS
或使用purrr
。
library(purrr)
map2_df(map(df$Claim_Code, get_data), df$Claim_Code, cbind)
数据
df <- data.frame(Claim_Code = c('GAICLAIMS', 'ALICLAIMS', 'AZICLAIMS'),
stringsAsFactors = FALSE)