在使用包含其名称的字符串引用数据框时更改数据框列名称

时间:2018-10-06 17:21:50

标签: r dataframe

我想更改R中数据框的列名,同时使用包含该数据框名的字符串来引用它。但是,我的尝试失败了:

> dataframe <- data.frame(c(1,2), c(3,4))
> dfname <- "dataframe"
> colnames(get(dfname))
[1] "c.1..2." "c.3..4."
> colnames(get(dfname)) <- c("col1", "col2")
Error in colnames(get(dfname)) <- c("col1", "col2"):
  could not find function "get<-"

在仅使用dataframe的情况下如何使该示例工作并更改dfname的列名?

1 个答案:

答案 0 :(得分:0)

尝试一下:

eval(substitute(x <- setNames(x,c("col1", "col2")),list(x=as.name(dfname))))
dataframe
#   col1 col2
# 1    1    3
# 2    2    4