Какой пакет R я могу использовать для подсчета появления уникальных строк в массиве - PullRequest
0 голосов
/ 03 октября 2018

Мне нужно посчитать вхождение уникальных слов в серии слов и присвоить значение 1, когда в серии появляется новое слово.Интересно, какой пакет или функция R могли бы это сделать?

    test <- c(cat, dog, table, cat, chair, car, bus, 
    chair, school, car, chair, table)

    #expected result (1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0)

Спасибо, Чамиль

1 Ответ

0 голосов
/ 03 октября 2018

Мы можем получить логический вектор с duplicated и привести его к двоичному с as.integer.duplicated возвращает значение ИСТИНА для каждого дублирующегося элемента; при отрицании (!) ИСТИНА возвращает значение ЛОЖЬ и ЛОЖЬ как значение ИСТИНА, которое преобразуется в 1 (ИСТИНА) или 0 (ЛОЖЬ) с помощью as.integer

as.integer(!duplicated(test))
#[1] 1 1 1 0 1 1 1 0 1 0 0 0

данные

test <- c("cat", "dog", "table", "cat", "chair", "car", "bus",
          "chair", "school", "car", "chair", "table")
...