簡體   English   中英

如何重命名多個觀察值?

[英]How to rename multiple observations?

我在 r 中有一個包含三列的小標題。 其中一列是“week_days”。 此列中的所有觀察值都縮寫為:(mo,tu,we,th,fr,sa,su)。 雖然我想將它們更改為(星期一,星期二......等等)。

關於我如何做到這一點的任何想法?

我們可以創建一個鍵/值的命名vector來匹配和替換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]

其他解決方案:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM