#r #tidyverse #rename #stringr
Вопрос:
У меня большой фрейм данных. Я пытаюсь удалить 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
Ответ №1:
Если нам нужно удалить только «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))