R语言:如何快速将大小写不同的相同字符串分组?
快速合并大小写分组的方法
针对你提供的存在大小写差异的分类变量,以下是几种快速统一分组的实现方式:
方法1:统一大小写后判断
先将所有字符串转为统一大小写(小写或大写),再通过条件判断生成新分组:
# 转为小写后分组 df$group <- ifelse(tolower(df$value) == "positive", "Positive", "Negative") # 或转为大写后分组 df$group <- ifelse(toupper(df$value) == "POSITIVE", "Positive", "Negative")
方法2:使用dplyr的case_when(灵活适配多分组)
如果后续有更复杂的分组需求,case_when的可读性和扩展性更好:
library(dplyr) df <- df %>% mutate(group = case_when( tolower(value) == "positive" ~ "Positive", tolower(value) == "negative" ~ "Negative", TRUE ~ "Unknown" # 可选:处理未预期的异常值 ))
方法3:直接修改因子水平(适合因子类型变量)
如果需要将变量转为因子类型,直接合并对应水平即可:
# 先将字符型转为因子(若原本不是因子) df$value <- as.factor(df$value) # 合并指定水平 levels(df$value) <- list( Positive = c("Positive", "POSITIVE"), Negative = c("Negative", "negative", "NEGATIVE") ) # 此时df$value即为合并后的分组变量
内容的提问来源于stack exchange,提问作者Jamie
相关产品推荐
相关产品推荐

