Давайте предположим следующий пример:тест, если значение является уникальным в векторе в R
test<-c(1:5,3:7)
который дает
test
[1] 1 2 3 4 5 3 4 5 6 7
Я хотел бы иметь легкую функцию, которая возвращает TRUE, если значение является единственным в векторе.
[1] TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE
Что я пробовал:
unique(test)
дает мне обратно только уникальные значения, включая те, которые дублируются. duplicated(test)
дает мне назад
[1] FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE FALSE FALSE
, который, очевидно, не требуемый результат, так как функциональные тесты для дублированных наблюдений в последовательности и первого вхождения не учитывается как дубликат. Я мог бы, конечно, изменить последовательность управления, включив fromLast = T
и создать два вектора. Из этих двух я мог бы создать третью, которая показывает истинные уникальные значения ... но это довольно сложно.
table(test)
позволяет мне вычислить появление каждого значения
test
1 2 3 4 5 6 7
1 1 2 2 2 1 1
, который приближает меня к тому, что я хочу, но до сих пор не требуемый результат (вектор той же длины, указывающий, является ли он уникальным в пределах вектор или нет.)
, так что кто-нибудь знает, как это сделать проще?