如何使用R中的循环下载多个OECD文件



我正在尝试使用循环下载OECD中的多个文件,但没有成功。

  1. 有人知道如何使用循环下载许多国家和年份(例如2000-2019(吗

2如何使用名称保存文件:MEI_REAL_;国家名称year.csv?

library(OECD)
data_names <- c("AUS", "BEL", "DEU")                    
data_names   
for(i in 1:length(data_names)) {  
data_i <- get_dataset("MEI_REAL",
filter = list(NULL,data_names[i]),
start_time = 2017,
end_time = 2017)
}
library(OECD)
data_names <- c("AUS", "BEL", "DEU")   
#empty vector to store the results of loop
df = vector()
for(i in data_names) {  
saProduction <- get_dataset("MEI_REAL",
filter = list(NULL, i),
start_time = 2017,
end_time = 2017)
df = rbind.data.frame(df, saProduction)
}
#individual dataframe 
df = split(df, df$LOCATION)
list2env(df,envir=.GlobalEnv)

我使用了@Nad-Pat建议的代码,添加了多年的循环,它很有效。我试图保存文件,但没有成功。此外,时间变量是time_quarter,但我只想按年份划分数据,而不是按季度划分数据(例如AUS_2007(。有人知道如何为每个国家/地区的年份保存单独的文件吗?我如何只按年份而不是按年份划分数据?我尝试手动保存(不使用循环(,它可以工作,但循环不行。

library(OECD)
data_names <- c("AUS", "BEL", "DEU")   
data_years <- c(2015:2017)
df = vector()
for(i in data_names) {  
for (j in data_years) {
saProduction <- get_dataset("MEI_REAL",
filter = list(NULL, i),
start_time = j,
end_time = j)
df = rbind.data.frame(df, saProduction)
}
}
head(df)
df = split(df, list(df$LOCATION, df$Time))
list2env(df,envir=.GlobalEnv)
for(i in data_names){
for (j in data_years) {
write.csv(i.j,file="i_j.csv") 
}
}

最新更新