如何在R中基于列间行差值创建Category分类列?
R代码实现DataFrame的Category列分类需求
可以用dplyr包的mutate结合case_when函数来实现你的分类需求,代码如下:
# 加载dplyr包(若未安装需先执行install.packages("dplyr")) library(dplyr) # 替换为你实际的DataFrame名称,这里用df作为示例 df <- df %>% mutate( Category = case_when( # 规则1:Interpretation组,SSR≥4且SSR与ISR差值>1 Interpretation == "Interpretation" & SSR >= 4 & (SSR - ISR) > 1 ~ "A", # 规则2:Interpretation组,ISR≥4且ISR与SSR差值>1 Interpretation == "Interpretation" & ISR >= 4 & (ISR - SSR) > 1 ~ "B", # 不符合上述条件的情况,赋值为NA(可根据需求修改为其他值,比如"") TRUE ~ NA_character_ ) )
说明:
case_when能清晰处理多条件分支逻辑,比嵌套ifelse更易读- 若你的分组列名称不是
Interpretation(比如列名为Group,其中分组值为"Interpretation"),请把代码中的Interpretation == "Interpretation"替换为对应的判断,例如Group == "Interpretation" - 最后一行的
TRUE ~ NA_character_是兜底逻辑,所有不满足前两个规则的行都会被赋值为NA字符串,你可以根据需要改成其他默认值
内容的提问来源于stack exchange,提问作者Alex Fang
相关产品推荐
相关产品推荐

