重新编码月份因素

Recode month factor

我有一个这样的数据集:

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)

但是当我看到我的数据时,五月等于七月。我该怎么做?

谢谢

感谢@sotos 它的作品。

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

看来你只需要将首字母转换为大写即可。 stringr 包中有一个函数 str_to_title 可以做到这一点,即

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