我有一个整数列表,我想检查这些元素是否都是唯一的。
set.seed(2)
x <- list(a=sample(10,3),b=sample(10,5),c=sample(10,7))
x
# $a
# [1] 2 7 5
# $b
# [1] 2 9 8 1 6
# $c
# [1] 5 10 9 2 8 1 7
对于此示例,以下所有情况都未通过检查:1)2出现在所有条目中,2)5出现在$a
和$c
,3)8出现在{{1} }和$b
,4)1出现在$c
和$b
等中。
$c
y <- list(a=c(1,3,5),b=c(7,4),c=c(6,10))
的元素之间没有重叠,所以它通过了检查。
预期输出应该只是True / False,表示列表是否通过了检查。
答案 0 :(得分:1)
您可以将列表转换为包含unlist
的向量,然后检查带有any
和duplicated
的向量中是否有任何元素重复。
!any(duplicated(unlist(x)))
# [1] FALSE
!any(duplicated(unlist(y)))
# [1] TRUE