我的数据集中的变量看起来像这样
df <- data.frame(Month = factor(c(sample(1:12, 15, replace = T),
sample(c("Apr", "May"), 5, replace = T))))
现在,级别Apr
和May
由其他人稍后输入,从而存储为月份名称。那么,如何摆脱单独的级别并将这些值分别分组在已经存在的4
和5
级别之下?或相反,如何以月份名称而不是数字存储所有值?
答案 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