gpt4 book ai didi

r - 如何使用 setNames() 重命名数据框的特定变量?

转载 作者:行者123 更新时间:2023-12-03 15:05:30 28 4
gpt4 key购买 nike

重命名一个特定的变量我可以做例如

names(df1)[which(names(df1)  == "C")] <- "X"
> df1
A B X
1 1 2 3

我想知道 setNames() 是否也可以做到这一点,但不重复我不想重命名的名字
df1 <- setNames(df1, c("A", "B", "X"))`

我试过 setNames(df1, c(rep(NA, 2), "X"))setNames(df1[3], "X")但这行不通。我在 setNames()中看到的优势是我可以在一步完成其他事情的同时设置名称。

数据
df1 <- setNames(data.frame(matrix(1:3, 1)), LETTERS[1:3])
> df1
A B C
1 1 2 3

最佳答案

您可以使用 replace ,

setNames(df1, replace(names(df1), names(df1) == 'B', 'X'))
# A X C
#1 1 2 3
setNames(df1, replace(names(df1), names(df1) == 'A', 'X'))
# X B C
#1 1 2 3
setNames(df1, replace(names(df1), names(df1) == 'C', 'X'))
# A B X
#1 1 2 3

关于r - 如何使用 setNames() 重命名数据框的特定变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53168572/

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