R语言:基于Numbers列条件添加Opt-Numbers列的实现方法
在R语言数据框中根据条件添加新列
输入数据构造
先还原你的输入数据框:
df <- data.frame( S.NO = c("P1", "P2", "P3", "P4", "P5", "P6"), Numbers = c(2, 5, 2, 2, 3, 4) )
方法1:基础R实现(无需额外包)
直接用ifelse()函数对Numbers列做条件判断,生成目标新列:
df$Opt.Numbers <- ifelse(df$Numbers >= 4, "Opt-CMM", "Opt-MM")
方法2:tidyverse/dplyr风格实现
如果你习惯使用tidyverse生态,用dplyr::mutate()配合条件判断函数更易读,也方便后续链式操作:
library(dplyr) # 用ifelse快速实现 df <- df %>% mutate(Opt.Numbers = ifelse(Numbers >= 4, "Opt-CMM", "Opt-MM")) # 多条件场景推荐用case_when(逻辑更清晰,便于后续扩展) df <- df %>% mutate(Opt.Numbers = case_when( Numbers >= 4 ~ "Opt-CMM", TRUE ~ "Opt-MM" # 匹配所有剩余情况 ))
验证结果
执行上述代码后,查看数据框即可得到目标结果:
print(df)
输出:
S.NO Numbers Opt.Numbers 1 P1 2 Opt-MM 2 P2 5 Opt-CMM 3 P3 2 Opt-MM 4 P4 2 Opt-MM 5 P5 3 Opt-MM 6 P6 4 Opt-CMM
内容的提问来源于stack exchange,提问作者Usman YousafZai
相关产品推荐
相关产品推荐

