У меня есть некоторые текстовые данные, которые выглядят так:
ID text
1
2
3
4 HD some text
5 LP some more text
6 AN even more text
7
8
9
10 HD some different text
11 SN some more different text
12 AN even more different text
Ea c часть является документом и отделена пробелами. Документ начинается с ID
как HD
и заканчивается ID
и AN
. Я пытаюсь сделать две вещи, в конечном итоге я хочу pivot_wider
данных и иметь столбцы как ID
, и каждая строка будет документ. Я запускаю следующее:
widerText <- textData %>%
pivot_wider(names_from = ID, values_from = text)
finalText <- widerText %>%
unnest(HD, LP, AN, SN, PP, LO, AN)
, который не сохраняет правильную структуру, и текст перепутывается. Итак, я хочу создать группирующую переменную до запуска pivot_wider
.
Каждый документ начинается с HD
и заканчивается AN
, поэтому я хотел бы создать что-то со следующим выводом:
Ожидаемый вывод:
ID text grp
1 0
2 0
3 0
4 HD some text 1
5 LP some more text 1
6 AN even more text 1
7 0
8 0
9 0
10 HD some different text 2
11 SN some more different text 2
12 AN even more different text 2
Данные :
textData <- data.frame(
ID = c(
" ", " ", " ", "HD", "LP", "AN",
" ", " ", " ", "HD", "SN", "AN",
" ", " ", " ", "HD", "PP", "AN",
" ", " ", " ", "HD", "LO", "AN"
),
text = c(
" ", " ", " ", "some text", "some more text", "even more text",
" ", " ", " ", "some different text", "some more different text", "even more different text",
" ", " ", " ", "some additional text", "some more additional text", "even more additional text",
" ", " ", " ", "some extra text", "some more extra text", "even more extra text"
)
)