我有以下数据框:
df=data.frame(word1 = c("Hello", "ah", "why"), word2 = c("dress", "ah", "ahi"),
word3 = c("english", "ah", "ahi"), x = c(1L,6L, 1L))
> df
word1 word2 word3 x
1 Hello dress english 1
2 ah ah ah 6
3 why ahi ahi 1
我想删除至少有两列彼此相等的 word1
、word2
、word3
的行。
例如,我们示例中所需的结果是:
> df
word1 word2 word3 x
1 Hello dress english 1
最佳答案
apply
的几个选项:
cols = c("word1", "word2", "word3")
df[!apply(df[cols], 1, anyDuplicated), ]
# word1 word2 word3 x
# 1 Hello dress english 1
df[apply(df[cols], 1, function(x) length(unique(x)) == length(x)), ]
# word1 word2 word3 x
# 1 Hello dress english 1
关于删除数据框中至少有两个重复列的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67092708/