我正在为 ggplot 编写一个包装器,以根据各种数据集生成多个图形。当我将列名传递给函数时,我需要重命名列名,以便 ggplot 可以理解引用。
但是,我正在努力重命名数据框的列
这是一个数据框:
df <- data.frame(col1=1:3,col2=3:5,col3=6:8)
这是我用于搜索的列名:
col1_search <- "col1"
col2_search <- "col2"
col3_search <- "col3"
以下是要替换的列名:
col1_replace <- "new_col1"
col2_replace <- "new_col2"
col3_replace <- "new_col3"
当我搜索列名时,R 对列索引进行排序并忽略搜索位置。
例如,当我运行以下代码时,我希望新的标题是 new_col1、new_col2 和 new_col3,而不是新的列名是:new_col3、new_col2 和 new_col1
colnames(df)[names(df) %in% c(col3_search,col2_search,col1_search)] <- c(col3_replace,col2_replace,col1_replace)
有没有人可以搜索列名并按顺序替换它们的解决方案?