Этот вопрос основывается на моем предыдущем вопросе относительно Разделение и группировка простого текста (группировка текста по главам в фрейме данных)?
С помощью Шри я смог получить большую частьмой документ вычищен!Мне удалось создать два столбца из списка - первый столбец - это номер главы, а второй столбец - это текст, принадлежащий этой главе, но я столкнулся с более сложным текстом.
Это худший вариантпример моих данных:
x
1 Chapter 1.
2 Chapter one text.
3 Chapter one text. Chapter 2. Chapter two text.
4 Chapter two text.
5 Chapter 3.
6 Chapter three text.
7 Chapter three text.
8 Chapter 4. Chapter four text
9 Chapter four text.
df <- structure(list(x = c("Chapter 1. ", "Chapter one text. ", "Chapter one text. Chapter 2. Chapter two text. ",
"Chapter two text. ", "Chapter 3. ", "Chapter three text. ", "Chapter three text. ",
"Chapter 4. Chapter four text ","Chapter four text. ")),
.Names = "x", class = "data.frame", row.names = c(NA, -9L))
Мне нужно структурировать их следующим образом (номер главы, а затем текст главы для этой главы в порядке идентификатора), чтобы я мог применить функцию из моего предыдущего поста и разделитьэто чисто:
x
1 Chapter 1.
2 Chapter one text.
3 Chapter one text.
4 Chapter 2.
5 Chapter two text.
6 Chapter two text.
7 Chapter 3.
8 Chapter three text.
9 Chapter three text.
10 Chapter 4.
11 Chapter four text
12 Chapter four text.
Это кажется простой задачей, где я мог бы разбить строку, используя регулярное выражение, ища Глава # ("Глава [0-9]"), а затем разделить ее снова с подобной логикой, чтобы получитьглава и текст в отдельных строках.Тем не менее, я застрял здесь после попытки многих попыток с функциями str_split
, gsub
, separate_rows
.
Любая помощь приветствуется.