【问题标题】:remove character for all column names in a data frame删除数据框中所有列名的字符
【发布时间】:2021-11-26 02:37:06
【问题描述】:

我有一个大数据框。我正在尝试从数据框的变量名称中删除 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

【问题讨论】:

    标签: r tidyverse rename stringr


    【解决方案1】:

    如果我们只需要删除“v”,则不需要末尾的多个数字(\\d+)($),因为预期的输出也会从第一列“q_ve5”中删除“v”

    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))
    

    【讨论】:

      猜你喜欢
      • 2016-03-06
      • 2019-10-24
      • 2019-09-21
      • 2011-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-29
      相关资源
      最近更新 更多