Использование слова stringr () для повторения и группировки предложения
Вот веселый Я пытаюсь сделать именно то, что делает этот пост. То есть повторение и группировка слов.
Уловка с этим вопросом заключается в том, что я хотел бы сделать это чисто с stringr
"s word()
функция с paste0
обертка. Возьмите следующее sentence
sentence <- "Jane saw a cat and then Jane sat down."
Точный результат будет
[1] "Jane saw, saw a, a cat, cat and, and then, then Jane, Jane sat, sat down."
Я получил это далеко, но word()
оставляет дополнительный ""
в конце этой строки, вероятно, из-за того, как я написал свой код в word()
потому что иначе не оставить пустую строку.
> library(stringr)
> len <- length(strsplit(sentence, " ")[[1]])
> paste0(word(sentence, c(1, 2:len), c(2, 3:len)), collapse = ", ")
[1] "Jane saw, saw a, a cat, cat and, and then, then Jane, Jane sat, sat down., "
Можно ли это сделать без запаздывания ", "
используя только word()
функционировать?
1 ответ
Решение
Я думаю твой start
а также end
аргументы word
должны быть одинаковой длины (в противном случае происходит повторная обработка), поэтому
paste0(word(sentence, c(1:(len-1)), c(2:len)), collapse = ", ")
или же
paste0(word(sentence, -c(len:2), -c((len-1):1)), collapse = ', ')
сделал бы трюк