У меня небольшая проблема, по которой мне нужен совет специалистов. Мне нужно разбить текст на части разного размера. Например, один из текстов состоит из 19578 слов. то, что я хочу сделать, это поместить первые 1000 слов в первую часть, первые 2000 слов во вторую часть, первые 3000 слов в третью ... и поместить первые 19000 слов в девятнадцатую часть. Таким образом, каждый блок увеличивается на 1000 слов и должен содержать слова из предыдущих блоков. (в числовом смысле c желаемый список будет выглядеть так: [1,1000], [1,2000], [1,3000], [1,4000], ... [1,19000])
Используя пакет stringr, я поместил текст в список:
words <-str_split(as.character(text), pattern = boundary(type = "word"))
и попытался разделить список с помощью функции разделения:
split.words <-split(unlist(words), cut(seq_along(unlist(words)), 19, labels = F))
Однако, результат сильно отличается от того, что я желаю. Он производит куски одинакового размера. (если бы это был список numeri c, фрагменты выглядели бы так: [1,1000], [1001,2000], ..., [18001,19000])
Я также пытался объединить элементы списка split.word функцией c ():
combined <- c(split.words[[1]][["1"]], split.words[[1]][["2"]], split.words[[1]][["3"]], split.words[[1]][["4"]], ...)
, и снова результат - символьный элемент, который состоит из блоков по 1000 слов (один элемент, но все же есть разделы с 1000 словами в них). По сути, я просто изменил тип из списка на символьный элемент с помощью функции c ().
ТЕПЕРЬ мой вопрос в том, как я могу разбить свои тексты на куски неравного размера, которые увеличиваются на 1000 слов . Обратите внимание, что все фрагменты должны начинаться с первого слова.