Cleaning up factor levels (collapsing multiple levels/labels)

后端 未结 10 2116
礼貌的吻别
礼貌的吻别 2020-11-22 14:27

What is the most effective (ie efficient / appropriate) way to clean up a factor containing multiple levels that need to be collapsed? That is, how to combine two or more fa

10条回答
  •  醉话见心
    2020-11-22 15:01

    Since R 3.5.0 (2018-04-23) you can do this in one clear and simple line:

    x = c("Y", "Y", "Yes", "N", "No", "H") # The 'H' should be treated as NA
    
    tmp = factor(x, levels= c("Y", "Yes", "N", "No"), labels= c("Yes", "Yes", "No", "No"))
    tmp
    # [1] Yes  Yes  Yes  No   No   
    # Levels: Yes No
    

    1 line, maps multiple values to the same level, sets NA for missing levels" – h/t @Aaron

提交回复
热议问题