假设我有一个分类变量,例如:
set.seed(123)
x<-sample(c("I", "IA", "IB", "II", "IIB", "IIC", "III", "IIID", "IIIF", "XA", "XB", "XC"),
100, TRUE)
table(x, exclude=NULL)
# x
# I IA IB II IIB IIC III IIID IIIF XA XB XC <NA>
# 5 12 9 7 9 11 6 8 6 12 9 6 0
我的问题是如何轻松将
x
折叠为四个元素,例如I,II,III和X?例如。将I,IA,IB合并为I等 最佳答案
更一般而言,如果您的分类变量未按此类模式进行分组,则可以使用case_when
中的dplyr
来指定映射:
y <- case_when(x %in% c("I", "IA", "IB") ~ "I", #or whatever conditions you want
x %in% c("II", "IIA", "IIB") ~ "II", #as above
TRUE ~ "III")
table(y)
I II III
33 24 43
关于r - 如何在R中将类别变量折叠为较少的元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45984705/