我想保留矢量中的非重複值,但不保留重複值中的一個元素。 unique()不適用於此。兩者都不會重複()。R:從矢量中提取非重複值(不保留重複值)
例如:
> test <- c(1,1,2,3,4,4,4,5,6,6,7,8,9,9)
> unique(test)
[1] 1 2 3 4 5 6 7 8 9
而我想的結果是:-1,2,3,5,7,8-
對如何處理這個任何想法?謝謝!
我想保留矢量中的非重複值,但不保留重複值中的一個元素。 unique()不適用於此。兩者都不會重複()。R:從矢量中提取非重複值(不保留重複值)
例如:
> test <- c(1,1,2,3,4,4,4,5,6,6,7,8,9,9)
> unique(test)
[1] 1 2 3 4 5 6 7 8 9
而我想的結果是:-1,2,3,5,7,8-
對如何處理這個任何想法?謝謝!
您可以使用ave
算子組的唯一值除以length
在test
,只保留其長度爲1(即沒有重複的那些)
test[ave(test, test, FUN = length) == 1]
#[1] 2 3 5 7 8
如果test
包含的那些字符,使用seq_along
成Ave
test[ave(seq_along(test), test, FUN = length) == 1]
這可能對字符向量不起作用嗎? – arielle
這裏不需要匿名功能 –
謝謝,它的工作原理! – arielle