重命名 data.frame 的列

Renaming columns of data.frame

我遇到了重命名 data.frame 的列名称的解决方案:

names(data) <- c("new_name", "another_new_name")

这是一个例子:

empl <- c("Mike", "Steven")
wa <- c(25000, 30000)
data <- data.frame(empl, wa)
data

# now rename the columns of the dataframe
names(data) <- c("employee", "wage")
data

现在我想知道如何将向量分配给函数调用。 names(data) 的结果是一个带有字符的向量。而且这个向量似乎没有以任何方式链接到 data.frame。

谁能告诉我这些机制是什么?

试图向自己解释

names(data) <- c("employee", "wage")

查看上面的作业:

我觉得这个问题很好。 这就是 R 解释器的工作方式,它调用 Replacement functions。您可以定义函数 function<- 来设置替换功能。

让我有这个功能:

members_of <- function(x){
  print(x)
}

我可以轻松调用它:

members = c("foo", "bar", "baz")
members_of(members)
# output
# [1] "foo" "bar" "baz"

但是让我们使用 back tick 字符和 tmpvalue[=31 来定义 members_of<- 函数=] 参数:

`members_of<-` = function(tmp, value){
     tmp = value
 }

现在我可以分配给函数调用了:

members = c("foo", "bar", "baz")
# output 
# [1] "foo" "bar" "baz"
#
members_of(members) = c("foo2", "bar2", "baz2")
# Now values of members will be
# members
# [1] "foo2" "bar2" "baz2"