分配要在filename中使用的变量

时间:2014-05-20 12:20:49

标签: r loops assign

我正在尝试使用宏观经济数据构建一个程序,我只需更改一行代码即可在不同国家/地区运行。

我想分配类似的东西:

countrycode <- "UK"

我的数据矩阵列标有GDP_UK,GDP_FR,GDP_DE,...,FDI_UK,FDI_FR,FDI_DE ...,UN_UK,UN_Fr,...等我想分配类似的内容:

gdp <- ts(Data[,c("GDP_UK")], frequency=4, start=c(1971,1), end=c(2013,4))

但我不想使用“GDP_UK”,而是使用“GDP_ countrycode ”。在Eviews中,这将是'for i = ... do something'循环。我注意到循环在这里不是很受欢迎,但我看不出还有什么可行。我的数据矩阵的组成可以改变,所以我不想创建一个包含所有国家代码的向量(一旦我更改数据矩阵就会很乱)。我想改变国家代码,例如从英国改为FR,让我的程序运行在法国而不是英国。如何将变量'countrycode'添加到我的ts命令中?

1 个答案:

答案 0 :(得分:0)

正如Roland所指出的,您可以使用paste命令构建字符串以标识列名称

varname <- "GDP"
countrycode <- "UK"
columnname <- paste(varname, countrycode, sep="_");

然后你可以像常规字符串一样提取它

gdp <- ts(Data[,columnname], frequency=4, start=c(1971,1), end=c(2013,4))