gpt4 book ai didi

使用函数式编程用 dplyr 重命名列

转载 作者:行者123 更新时间:2023-12-02 15:17:38 25 4
gpt4 key购买 nike

我想重命名许多列。现在我重写每一列的语句:

df <- data.frame(col1 = 1:4, col2 = c('a', 'b', 'c', 'd'), col3 = rep(1,4))
df %>%
rename(col1 = col1_new) %>%
rename(col2 = col2_new) %>%
rename(col3 = col3_new)

如何避免重复重命名语句?有使用 R 的函数式编程的解决方案吗?

最佳答案

使用 setNames 比使用 rename 更容易

df %>% 
setNames(., paste0(names(.), "_new"))
# col1_new col2_new col3_new
#1 1 a 1
#2 2 b 1
#3 3 c 1
#4 4 d 1

如果没有限制,例如所有步骤都应该在 %>% 内完成,则更简单和通用的方法是

colnames(df) <- paste0(colnames(df), "_new")

关于使用函数式编程用 dplyr 重命名列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39330320/

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