簡単な質問です。次のようなデータフレームがあります(1つのベクトルのみが表示されています)。
cln1
A
b
A
A
c dA ...。
_
次の出力が欲しいです:
cln1
b
c
d
つまり、複製されたすべてのアイテムを削除したいと思います。関数「unique」および「duplicated」は、一度だけ表された複製された要素を含む出力を返します。完全に削除したいと思います。
簡単な質問です。次のようなデータフレームがあります(1つのベクトルのみが表示されています)。
cln1
A
b
A
A
c dA ...。
_
次の出力が欲しいです:
cln1
b
c
d
つまり、複製されたすべてのアイテムを削除したいと思います。関数「unique」および「duplicated」は、一度だけ表された複製された要素を含む出力を返します。完全に削除したいと思います。
あなたはそのために使うことができますsetdiff
:
R> v <- c(1,1,2,2,3,4,5)
R> setdiff(v, v[duplicated(v)])
[1] 3 4 5
パッケージから使用count
してplyr
、アイテムの発生をカウントし、複数回発生するすべてのアイテムを削除できます。
library(plyr)
l = c(1,2,3,3,4,5,6,6,7)
count_l = count(l)
x freq
1 1 1
2 2 1
3 3 2
4 4 1
5 5 1
6 6 2
7 7 1
l[!l %in% with(count_l, x[freq > 1])]
[1] 1 2 4 5 7
に注意してください。!
これはを意味しNOT
ます。もちろん、これをワンライナーに入れます。
l[!l %in% with(count(l), x[freq > 1])]
を使用する別の方法table
:
@jubaのデータを使用して:
as.numeric(names(which(table(v) == 1)))
# [1] 3 4 5
OPのデータは、文字出力as.numeric
なので必要ありません。
names(which(table(v) == 1))
# [1] "b" "c" "d"