【发布时间】:2014-05-20 12:20:48
【问题描述】:
我正在尝试使用宏观经济数据构建一个程序,只需更改一行代码,我就可以在不同的国家/地区运行该程序。
我想分配类似的东西:
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' 循环。我注意到循环在这里不是很受欢迎,但我看不出还有什么可以工作的。我的数据矩阵的组成可以改变,所以我不想创建一个包含所有国家代码的向量(一旦我改变数据矩阵就会很乱)。相反,我想将国家代码从英国更改为法国,并让我的程序为法国而不是英国运行。如何将变量“countrycode”放入我的 ts 命令中?
【问题讨论】:
-
country <- paste("GDP", countrycode, sep="_"); gdp <- ts(Data[ ,country], ...? -
将矩阵更改为
list,每个元素的名称都是国家代码?然后您可以在不影响现有数据的情况下将新的国家代码(和相关数据)添加到列表中,您可以通过ts(Data$pick_a_code,...)选择所需的项目 -
@CarlWitthoft:这可能有问题,因为我每个国家都有几个变量。所以我不能只分配国家代码。目前它们被命名为 Variable_countrycode。罗兰:谢谢,那行得通!但它有点乱,我必须为我的数据集中的每个变量创建一个“国家”变量,然后再次删除它们。每个变量 3 行代码。但它完成了工作! :-)