Arrays 我想在循环中创建一组数据数组,并根据变量列表对其命名

Arrays 我想在循环中创建一组数据数组,并根据变量列表对其命名,arrays,r,loops,time-series,Arrays,R,Loops,Time Series,我想通过API函数为国家列表导入几个时间序列变量。我想为每个国家将数据存储在单独的数组中。数据数组的名称应为3个字母的国家/地区代码。对于一个国家,我的代码如下所示: data = Quandl(c(var1,var2,var3), collapse="annual") 我想循环浏览包含标识符的国家列表,以便从Quandl.com下载var1-3。我的问题是,我无法找到一种方法,用各自的国家代码(例如美国)重命名每个国家的数据数组(数据)。最后,我希望在工作区中为列表中的每个国家(POL、DE

我想通过API函数为国家列表导入几个时间序列变量。我想为每个国家将数据存储在单独的数组中。数据数组的名称应为3个字母的国家/地区代码。对于一个国家,我的代码如下所示:

data = Quandl(c(var1,var2,var3), collapse="annual")
我想循环浏览包含标识符的国家列表,以便从Quandl.com下载var1-3。我的问题是,我无法找到一种方法,用各自的国家代码(例如美国)重命名每个国家的数据数组(数据)。最后,我希望在工作区中为列表中的每个国家(POL、DEU、USA、CHN…)创建一个单独的数据数组

基本上,我正在寻找一种功能性的方法来实现这一点:

list[i,1] = data

不幸的是,这不起作用,但是为什么没有一种简单的方法来重命名循环中的数据数组呢?

您可以使用
lappy
创建数据列表,然后用国家代码重命名列表中的每个元素

countries<-c("a","b","c")
dat<-lapply(countries,function(x) rnorm(4))
names(dat)<-countries
> dat[["a"]]
[1] -0.5157099 -1.0372721  0.9696698 -0.9280852
如果您仍然想继续使用for循环,那么创建一个列表并添加到其中,然后按照上面的操作重命名

result<-list()
 for(i in 1:50)   result[[i]]<-YOURFUNCTIONHERE
names(result)<-countryNames

resultThanks,但我不确定这将如何与我的for循环结构相结合。也许我应该更清楚地解释一下,每个var1-3都有不同的ID代码,其差异超出了国家标识符的范围。还有其他建议吗?我明白了。我将编辑我的回复。我的意思是,你并不真的需要一个for循环。在大多数情况下,您应该尽量避免使用支持向量运算的语言中的For循环。我知道这样做会更优雅,但我真的不确定这是否适用于我需要调用的API函数。我在这里重写了我的问题:我希望我的附加帖子有助于澄清这个问题。非常感谢你的帮助。我坚持用环。感谢您向我介绍列表的功能。
result<-list()
 for(i in 1:50)   result[[i]]<-YOURFUNCTIONHERE
names(result)<-countryNames