我尝试在多个数据框中重命名变量,但assign函数无法正常工作。以下是我尝试的代码:
assign(colnames(eval(as.name(DataFrameX)))[[3]], "<- NewName")
# The idea is, go through every dataset, and change the name of column 3 to
# "NewName" in all of them
这不会返回任何错误(我能想到的所有其他版本都会返回某种错误),但它也不会更改变量名。
我正在使用循环创建多个数据框和每个数据框内的不同变量,现在我需要重命名其中一些变量,以便稍后可以将这些数据框合并为一个。所有这些都可以正常工作,除了重命名。如果我自己输入数据框和变量的名称进行常规调用并使用colnames(DF)[[3]] <- "NewName"
重命名,则一切正常,但是当我尝试使用赋值来执行循环时,它似乎没有做任何事情。
help("assign")
。不清楚您编写代码的原因以及为什么认为它应该工作。此外,出于很好的原因,建议使用列表。不要让编码变得比必要的更加困难。 - Roland