我开始思考这个问题,试图从一个向量中获取没有重复的值。根据我从文档中收集到的信息,unique
不好用,因为它仅返回重复元素中的一个。同样,duplicated
也有同样的问题,因为它在第一次找到重复值时会返回 FALSE。以下是我的解决方法:
> d=c(1,2,4,3,4,6,7,8,5,10,3)
> setdiff(d,unique(d[duplicated(d)]))
[1] 1 2 6 7 8 5 10
以下是一种更为通用的方法。
> table(d)->g
> as.numeric(names(g[g==1]))
[1] 1 2 5 6 7 8 10
我们可以将其推广到1以外的其他值。但我觉得这种解决方案有点笨拙,需要将字符串转换为数字。是否有更好或更直接的方法来获取此向量?