使用函数式编程用 dplyr 重命名列
Rename column with dplyr with functional programming
我想重命名很多列。现在我重写每列的语句:
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")
我想重命名很多列。现在我重写每列的语句:
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")