我正在使用tidytext
(和tidyverse
)来分析一些文本数据(如在Tidy Text Mining with R中)。
我的输入文本文件myfile.txt
,看起来像这样:
# Section 1 Name
Lorem ipsum dolor
sit amet ... (et cetera)
# Section 2 Name
<multiple lines here again>
有60个左右的部分。
我想section_name
用字符串"Category 1 Name"
或"Category 2 Name"
作为相应行的值生成一列。例如,我有
library(tidyverse)
library(tidytext)
library(stringr)
fname <- "myfile.txt"
all_text <- readLines(fname)
all_lines <- tibble(text = all_text)
tidiedtext <- all_lines %>%
mutate(linenumber = row_number(),
section_id = cumsum(str_detect(text, regex("^#", ignore_case = TRUE)))) %>%
filter(!str_detect(text, regex("^#"))) %>%
ungroup()
tidiedtext
它为每行的相应部分编号添加一列。
是否可以在调用中添加一行以mutate()
添加这样的列?还是我应该使用另一种方法?