为 tidyverse 中的列名称选择添加后缀
Adding a suffix to a selection of column names in tidyverse
This 很棒 post 向我展示了如何使用 dplyr 为列名添加前缀。但是,如果我只想向这些列的 some 添加前缀怎么办
library(dplyr)
(df <- data.frame(x = c(1, 2), y = c(3, 4), z = c(5, 6)))
# x y z
# 1 1 3 5
# 2 2 4 6
现在,如果我想为所有这些添加前缀,我可以这样做。
## Adding prefixes
df %>% rename_with( ~ paste0("a", .x))
# ax ay az
# 1 1 3 5
# 2 2 4 6
但是,如果我只想为列 x
和 y
添加前缀怎么办?某种 select 语法?我试过了
df %>% rename_with(across(cols = c("x", "y")),
~ paste0("a", .x))
但是得到一个错误说 across()
只能在 dplyr
动词中使用,我猜 rename_with
不是其中之一
您可以在 rename_with
-
中 select 列
library(dplyr)
df %>% rename_with(~paste0("a", .x), c(x, y))
# ax ay z
#1 1 3 5
#2 2 4 6
This 很棒 post 向我展示了如何使用 dplyr 为列名添加前缀。但是,如果我只想向这些列的 some 添加前缀怎么办
library(dplyr)
(df <- data.frame(x = c(1, 2), y = c(3, 4), z = c(5, 6)))
# x y z
# 1 1 3 5
# 2 2 4 6
现在,如果我想为所有这些添加前缀,我可以这样做。
## Adding prefixes
df %>% rename_with( ~ paste0("a", .x))
# ax ay az
# 1 1 3 5
# 2 2 4 6
但是,如果我只想为列 x
和 y
添加前缀怎么办?某种 select 语法?我试过了
df %>% rename_with(across(cols = c("x", "y")),
~ paste0("a", .x))
但是得到一个错误说 across()
只能在 dplyr
动词中使用,我猜 rename_with
不是其中之一
您可以在 rename_with
-
library(dplyr)
df %>% rename_with(~paste0("a", .x), c(x, y))
# ax ay z
#1 1 3 5
#2 2 4 6