删除数据框中所有列名的字符
remove character for all column names in a data frame
我有一个大数据框。我正在尝试从数据框的变量名称中删除 v
字符
df <- tibble(q_ve5 = 1:2,
q_f_1v = 3:4,
q_vf_2 = 3:4,
q_e6 = 5:6,
q_ev8 = 5:6)
我试过了。看来我的正则表达式模式不正确
df %>%
rename_all(~ str_remove(., "\v\d+$"))
我想要的列名:
q_e5 q_f_1 q_f_2 q_e6 q_e8
如果我们只需要删除 'v' 末尾 ($
) 中的一个数字 (\d+
) 则不需要,因为预期的输出也会删除 'v' 来自第一列 'q_ve5'
library(dplyr)
library(stringr)
df %>%
rename_with(~ str_remove(., "v"), everything())
-输出
# A tibble: 2 × 5
q_e5 q_f_1 q_f_2 q_e6 q_e8
<int> <int> <int> <int> <int>
1 1 3 3 5 5
2 2 4 4 6 6
或没有任何包裹
names(df) <- sub("v", "", names(df))
我有一个大数据框。我正在尝试从数据框的变量名称中删除 v
字符
df <- tibble(q_ve5 = 1:2,
q_f_1v = 3:4,
q_vf_2 = 3:4,
q_e6 = 5:6,
q_ev8 = 5:6)
我试过了。看来我的正则表达式模式不正确
df %>%
rename_all(~ str_remove(., "\v\d+$"))
我想要的列名:
q_e5 q_f_1 q_f_2 q_e6 q_e8
如果我们只需要删除 'v' 末尾 ($
) 中的一个数字 (\d+
) 则不需要,因为预期的输出也会删除 'v' 来自第一列 'q_ve5'
library(dplyr)
library(stringr)
df %>%
rename_with(~ str_remove(., "v"), everything())
-输出
# A tibble: 2 × 5
q_e5 q_f_1 q_f_2 q_e6 q_e8
<int> <int> <int> <int> <int>
1 1 3 3 5 5
2 2 4 4 6 6
或没有任何包裹
names(df) <- sub("v", "", names(df))