【发布时间】:2014-11-25 06:07:45
【问题描述】:
我特别开始思考这个问题,试图从一个不重复的向量中获取值。 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 以外的其他值。但我发现这个解决方案有点笨拙,将字符串转换为数字。有没有更好或更直接的方法来获取这个向量?
【问题讨论】:
-
很多好的答案。谢谢!
-
我认为在所有建议的答案中,您的
table是最不笨拙的一个。高效,代码更少,无需外部包。
标签: r contingency