【发布时间】:2022-01-03 23:36:29
【问题描述】:
我在 r 中有一个包含三列的 tibble。其中一列是“week_days”。此列中的所有观察值都缩写为:(mo,tu,we,th,fr,sa,su)。虽然我想将它们更改为(星期一,星期二......等等)。
有什么办法可以做到这一点吗?
【问题讨论】:
我在 r 中有一个包含三列的 tibble。其中一列是“week_days”。此列中的所有观察值都缩写为:(mo,tu,we,th,fr,sa,su)。虽然我想将它们更改为(星期一,星期二......等等)。
有什么办法可以做到这一点吗?
【问题讨论】:
我们可以创建一个名为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]
【讨论】:
其他解决方案:
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')
)
recode:df1 %>%
mutate(week_days = recode(week_days,
mo = "monday",
tu = 'tuesday'
we = 'wednesday',
th = 'thursday',
fr = 'friday',
sa = 'saturday',
sun = 'sunday'))
【讨论】: