R,创建包含第1列或满足条件的新列,第2列/第3列的值

ish*_*ido 0 r dataframe data-cleaning

           a       b      c    d
1     boiler   maker   <NA> <NA> 
2      clerk assistant <NA> <NA> 
3     senior machine setter <NA> 
4   operated    <NA>   <NA> <NA> 
5 consultant    legal  <NA> <NA> 
Run Code Online (Sandbox Code Playgroud)

如何创建一个新列,该列采用列'a'中的值,除非任何其他列包含任何一个legal或assistant在哪种情况下它采用该值?

sco*_*coa 5

这是一个base-R解决方案.我们使用apply并any立即测试每一列.

df$col <- as.character(df$a)
df$col[apply(df == "Legal",1,any)] <- "Legal"
df$col[apply(df == "assistant",1,any)] <- "assistant"
Run Code Online (Sandbox Code Playgroud)