【发布时间】:2017-12-08 07:12:15
【问题描述】:
我有一个这样的data.frame:
#df1
ID a1 a2 a3 b1 b2 b3 Date Name
3xy NA NA NA Ben Bob Alex 12/3 Bob
4lm John Bill Sue NA NA NA 12/5 Mark
如果“名称”列中的那些没有出现在其行中的任何 a1 到 b3 列中,我希望将它们替换为 NA,如下所示:
ID a1 a2 a3 b1 b2 b3 Date Name
3xy NA NA NA Ben Bob Alex 12/3 Bob
4lm John Bill Sue NA NA NA 12/5 NA
我不明白为什么下面的内容不起作用:
df1$Name <- with(df1, ifelse(Name %in% df1[2:7], Name, NA))
或
df1$Name[!(df1$Name %in% df1[2:7])] <- NA
两个语句都用 NA 替换整个“名称”列,未能保留出现在 a1 到 b3 列中的名称。
【问题讨论】:
标签: r