r-我如何创建一个函数或循环来重命名24个数据帧的列



我有24个数据帧,用于24年的商业流,所有数据帧看起来都是这样的。

t i  j      k          v       q
1 1997 4 12  90930 210.981000 160.433
2 1997 4 12 121190   2.614000   4.187
3 1997 4 20 570110  26.957000   2.500
4 1997 4 31 190211   3.747064  21.613
5 1997 4 31 252329  22.541865 626.000

我需要将变量的名称分别更改为t、I、j、k、v、q的Year、Product、Exporter、Importer、Flow、Quantity。

我正在使用下面的函数,但它不会保存更改。当我运行代码时,它会为我提供带有新数据帧和列的新名称的输出,但它不会在原始数据帧上被替换。

我想要的是尽量减少为实现这一点而写的行数,例如;BACI1995<-ChangeNames(BACI1995(BACI1996<-ChangeNames(BACI1996(";不是的选项

ChangeNames <- function(x) {
names(x) <- c("Year", "Product", "Exporter", "Importer", "flow", "Quantity")
return(x)
}
ChangeNames(BACI1995)

因此,如果您真的想最大限度地减少击键次数,请考虑以下一行:

for (i in 1995:2018) names(.GlobalEnv[[paste0("BACI", i)]]) <- c("Year", "Product", "Exporter", "Importer", "flow", "Quantity")

最新更新