带条件的Dplyr过滤器

Onhalu

我有这个df

ID CODE
A  45676
B  87898
B  89998
A  45688
A  45556

我想要这个df

ID CODE    CODE_SUB
A  45676   76
B  87898   NA
B  89998   NA
A  45688   88
A  45556   56

CODE_SUB是CODE中最后两个字符,条件ID == A

我用了这段代码

mutate(CODE_SUB = substr(which (df$ID == "A"), CODE , start= 4, stop= 5))

错误:mutate()输入问题CODE_SUBx未使用的参数(CODE)

里克

您可以在ifelse内部使用该功能mutate

df %>% mutate(CODE_SUB = as.numeric(ifelse(ID == "A", substr(CODE, start = 4, stop = 5), NA)))

输出量

#   ID  CODE CODE_SUB
# 1  A 45676       76
# 2  B 87898       NA
# 3  B 89998       NA
# 4  A 45688       88
# 5  A 45556       56

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章