假设我在 R 中有一些列表li,其元素是向量。例如,
li=list(a=c(2,3,5),b=c(77,119,81),c=c(9,11,13),d=c(5,2,3),e=c(80,45,16),f=c(16,17,19),g=c(13,9,11),h=c(22,13,58))
可以看出,li中的所有对象作为向量都不同。所以,
duplicated(li)
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
此外,该命令unique(li)
将返回相同的列表li。但请注意,元素 a 和 d 以及 c 和 g与集合相等。即,
setequal(li$a,li$d)
[1] TRUE
和
setequal(li$c,li$g)
[1] TRUE
因此,元素 a 被复制为元素 d 的设置,而元素 c 被复制为元素 g 的设置。我的问题是:如何从列表中删除 R 中这样的“setequally”重复元素?
关于什么:
li[apply(sapply(li, function(x) sapply(li, setequal, x)), 2, sum)==1]
$b
[1] 77 119 81
$e
[1] 80 45 16
$f
[1] 16 17 19
$h
[1] 22 13 58
?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句