gpt4 book ai didi

通过搜索列名重命名数据框的列

转载 作者:行者123 更新时间:2023-12-04 12:05:34 24 4
gpt4 key购买 nike

我正在为 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)

有没有人有解决方案,我可以搜索列名并按该顺序替换它们?

最佳答案

require(plyr)
df <- data.frame(col2=1:3,col1=3:5,col3=6:8)
df <- rename(df, c("col1"="new_col1", "col2"="new_col2", "col3"="new_col3"))
df

您可以创造性地将第二个参数设为 rename所以它不是那么手动。

关于通过搜索列名重命名数据框的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11367485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com