Мы можем создать функцию:
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)