重命名 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")
查看上面的作业:
- 左侧
names(data)
returns 具有旧列名称的向量。
- 这个赋值不是赋给一个向量吗?而不是数据框的属性?
我觉得这个问题很好。
这就是 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 字符和 tmp 和 value[=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"
我遇到了重命名 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")
查看上面的作业:
- 左侧
names(data)
returns 具有旧列名称的向量。 - 这个赋值不是赋给一个向量吗?而不是数据框的属性?
我觉得这个问题很好。
这就是 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 字符和 tmp 和 value[=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"