【问题标题】:How to rename multiple observations?如何重命名多个观察值?
【发布时间】:2022-01-03 23:36:29
【问题描述】:

我在 r 中有一个包含三列的 tibble。其中一列是“week_days”。此列中的所有观察值都缩写为:(mo,tu,we,th,fr,sa,su)。虽然我想将它们更改为(星期一,星期二......等等)。

有什么办法可以做到这一点吗?

【问题讨论】:

    标签: r dplyr tibble


    【解决方案1】:

    我们可以创建一个名为vector的key/value来匹配替换base R中原始数据列中的值

    nm1 <- setNames(c("monday", 'tuesday', 'wednesday', 'thursday', 
           'friday', 'saturday', 'sunday'),
          c('mo', 'tu', 'we', 'th', 'fr', 'sa', 'sun')   )
    df1$week_days <- nm1[df1$week_days]
    

    【讨论】:

    • 哇,没想到这个。谢谢!
    【解决方案2】:

    其他解决方案:

    plyr

    df1$week_days <- plyr::mapvalues(
      df1$week_days,
      c('mo', 'tu', 'we', 'th', 'fr', 'sa', 'sun'),
      c("monday", 'tuesday', 'wednesday', 'thursday','friday', 'saturday', 'sunday')
    )
          
    

    与 dplyr recode:

    df1 %>%
      mutate(week_days = recode(week_days,
                                mo = "monday",
                                tu = 'tuesday'
                                we = 'wednesday',
                                th = 'thursday',
                                fr = 'friday',
                                sa = 'saturday', 
                                sun = 'sunday'))
    

    【讨论】:

    • 太好了!这在使用 dplyr 时也有效:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-15
    • 1970-01-01
    • 2011-06-17
    相关资源
    最近更新 更多