现有因素的组级别

时间:2019-07-24 07:41:08

标签: r

我的数据集中的变量看起来像这样

df <- data.frame(Month = factor(c(sample(1:12, 15, replace = T), 
                                  sample(c("Apr", "May"), 5, replace = T))))

现在,级别AprMay由其他人稍后输入,从而存储为月份名称。那么,如何摆脱单独的级别并将这些值分别分组在已经存在的45级别之下?或相反,如何以月份名称而不是数字存储所有值?

1 个答案:

答案 0 :(得分:2)

您可以匹配month.abb,即

i1 <- match(df$Month, month.abb)
df$Month[!is.na(i1)] <- i1[!is.na(i1)]
df
#   Month
#1      5
#2      2
#3      7
#4     12
#5      5
#6     12
#7      4
#8      6
#9      7
#10    10
#11     9
#12     4
#13    11
#14    10
#15     3
#16     4
#17     5
#18     4
#19     4
#20     4