gpt4 book ai didi

根据列表的值重命名数据框列

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

我想编写一个函数来检查列表中是否存在数据帧的列名。如果他们这样做,我想用列表中找到的名称替换这些名称。

df <- data.frame(a = 1, b = 2, c = 3, d = 4)
replacements <- list(a = "a1", b = "b1", c = "c1")

我已经编写了一个函数来执行此操作,但它包含我想避免的循环。

rename_cols <- function(df) {
for(i in 1:length(df)) {
for(j in 1:length(replacements)) {
if(names(df)[i] == names(replacements)[j]) {
names(df)[i] <- replacements[[j]]
}
}
}
return(df)
}

我觉得我想多了。请帮忙。

最佳答案

我们可以使用重命名。键/值对要倒过来

library(dplyr)
rename(df, !!! setNames(names(replacements), unlist(replacements)))
a1 b1 c1 d
1 1 2 3 4

关于根据列表的值重命名数据框列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68655189/

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