-4

整数ベクトルから重複要素を削除しようとしていますが、組み込み関数はありません: duplicated()unique()およびanyDuplicated(). ただし、結果は の結果と同じでなければなりませんunique()

これまでのところ、ベクターから昇順で値を取得することができました (これでは十分ではありません)。私は次のようにしました(与えられたベクトルに対して):

vec <- c(1,2,2,4,1,1,5,6,3,9,0,4)

vec <- sort(vec)そしてrle(vec)$val、値のベクトルを昇順で取得するために使用できます。また、ソート関数から順序付けベクトルを取得しsort(vec,index.return=TRUE)$ix、それを使用して、この順序付けをベクトルに適用したいと思います(ただし、より短いresultため不可能です)。resultvec

この問題を解決する方法はありますか? 前もって感謝します

4

3 に答える 3

3

できるよ:

> vec[match(vec, vec) == seq_along(vec)]
# [1] 1 2 4 5 6 3 9 0
于 2013-10-11T18:33:41.303 に答える
0

私は非常に簡単な解決策を見つけました。実行するだけで十分です: union(vec,vec)

于 2013-10-13T18:12:38.033 に答える