我需要在一行中查找重复的列条目。我有一个逻辑向量,当列arent在该行中重复时为true,在列为false时为true。我想使用此逻辑向量来删除重复的条目,但是当我执行此var2 [逻辑向量]时,长度会更改,因为仅保留true的值,并删除了带有false的行,但是我希望保留这些只是不为人知或为空。这可能吗?
如此
/* do stuff */
我有逻辑矢量1 a b
2 a b
3 a a
4 a a
5 a b
我想用这个框架和这个向量来获得
[TRUE, TRUE, FALSE, FALSE, TRUE]
或
1 a b
2 a b
3 a
4 a
5 a b
这可能吗?
答案 0 :(得分:0)
case_when
中的 dplyr
解决了您的问题,而无需明确指定逻辑向量
library(dplyr)
df = data.frame(col1 = c("a", "a", "a", "a", "a"),
col2 = c("b", "b", "a", "a", "b"),
stringsAsFactors = F)
df %>%
mutate(col2 = case_when(col1 == col2 ~ NA_character_,
col1 != col2 ~ col2))
col1 col2
1 a b
2 a b
3 a <NA>
4 a <NA>
5 a b