How to add levels to an existing factor variable, without changing previous sequence
Let’s take a sequence of months. I like to take month names as factors. Always.
m<-factor(sample(month.name,5,replace = T))
m
[1] October May February November March
Levels: February March May November October
as.integer(m)
[1] 5 3 1 4 2
now let’s change the levels to increase them to the full 12 months
n<-factor(m,levels = month.name,ordered = T)
n
[1] October May February November March
12 Levels: January < February < March < April < May < June < July < August < September < October < ... < December
as.integer(n)
[1] 10 5 2 11 3
Bingo!
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayBvZiBTYW5qYXkiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KIyNIb3cgdG8gYWRkIGxldmVscyB0byBhbiBleGlzdGluZyBmYWN0b3IgdmFyaWFibGUsIHdpdGhvdXQgY2hhbmdpbmcgcHJldmlvdXMgc2VxdWVuY2UKTGV0J3MgdGFrZSBhIHNlcXVlbmNlIG9mIG1vbnRocy4gSSBsaWtlIHRvIHRha2UgbW9udGggbmFtZXMgYXMgZmFjdG9ycy4gQWx3YXlzLgpgYGB7cn0KbTwtZmFjdG9yKHNhbXBsZShtb250aC5uYW1lLDUscmVwbGFjZSA9IFQpKQptCmFzLmludGVnZXIobSkKYGBgCgoKCiNub3cgbGV0J3MgY2hhbmdlIHRoZSBsZXZlbHMgdG8gaW5jcmVhc2UgdGhlbSB0byB0aGUgZnVsbCAxMiBtb250aHMKYGBge3J9Cm48LWZhY3RvcihtLGxldmVscyA9IG1vbnRoLm5hbWUsb3JkZXJlZCA9IFQpCm4KYXMuaW50ZWdlcihuKQpgYGAKCkJpbmdvIQo=