Допустим, мои данные выглядит следующим образом:Как сохранить только уникальные слова в каждой строке в векторе? То есть удалить все дубликаты
vector = c("Happiness with KK Happiness without KK", "I love some coding I love major coding", "fun 2 fun 3")
Я хочу, чтобы удалить все повторяющиеся слова, в том числе первый экземпляр каждого дубликата слова. Итак, мой результат будет выглядеть следующим образом:
[1] "with without"
[2] "some major"
[3] "2 3"
В принципе, это похоже на эту проблему: How do keep only unique words within each string in a vector. Однако я не хочу сохранять даже первый экземпляр дублированного слова.
Я попытался использовать strsplit()
по " "
и duplicated()
, чтобы разделить каждую строку на различные слова, а затем обнаружить дубликаты.
Проблема с использованием duplicated()
заключается в том, что он возвращает только логический вектор второй экземпляр дублирующего слова. Кроме того, использование strsplit()
дает мне результат в виде списка, что действительно усложняет ситуацию, например, когда я хочу получить подмножество повторяющихся слов (обычно что-то вроде df[duplicated(df)]
, которое не работает в списках).
связанные: http://stackoverflow.com/questions/7854433/finding-all-duplicate-rows -including-elements-with-small-subscripts – dww