我的数据框如下:
dat <- data.frame(
V1=c("A","B","C","A"),
V2=c("B","C","D","B"),
V3=c("C","D","","C"),
V4=c("D","","","E")
)
V1 V2 V3 V4
1 A B C D
2 B C D
3 C D
4 A B C E
第2行和第3行在第1行的不同列中。如何过滤掉第2行和第3行,以便只剩下第1行和第4行?
答案 0 :(得分:0)
将每一行粘贴在一起。使用grepl
浏览这些值并检查(部分)它是否与任何值匹配。
S = trimws(Reduce(paste, dat), "right")
dat[sapply(1:length(S), function(i) !any(grepl(S[i], S[-i]))),]
# V1 V2 V3 V4
#1 A B C D
#4 A B C E