私は特に、繰り返されないベクトルから値を取得しようとするこの問題について考え始めました。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 以外の値に一般化できます。しかし、文字列を数値に変換するこの解決策は少し扱いにくいと思います。このベクトルを取得するためのより良い、またはより簡単な方法はありますか?