首页 > 解决方案 > 在使用包含其名称的字符串引用数据框时更改数据框列名称

问题描述

我想在 中更改数据框的列名 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

标签: rdataframe

解决方案


Try this:

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

推荐阅读