重新编码月份因子

时间:2019-01-15 09:58:09

标签: r refactoring recode

我有一个像这样的数据集:

age month
5    apr
6    jun
7    dec

我写的时候:

str(data$month)

我有

Factor w/ 10 levels "apr","aug","dec",..: 7 7 7 7 7 7 7 7 7 7 ...

levels(data$month)
 [1] "apr" "aug" "dec" "jul" "jun" "mar" "may" "nov" "oct" "sep"

我想将因子重新编码为月份的实际月份。我尝试过:

    month<-c("Jan","Feb","Mar",
         "Apr","May","Jun",
         "Jul","Aug","Sep",
         "Oct","Nov","Dec")

data$month<-month[data$month]
data$month<-factor(data$month,levels=month.abb)

但是当我看到我的数据时,月份可能等于7月。我该怎么办?

谢谢

感谢@sotos的工作。

 library(stringr)
data$month<-str_to_title(data$month)
data$month<-factor(data$month,levels=month.abb)

1 个答案:

答案 0 :(得分:2)

似乎您只需要将第一个字母转换为大写即可。 str_to_title包中有一个函数stringr,即

library(stringr)
str_to_title(c('may', 'jun', 'jul'))
#[1] "May" "Jun" "Jul"