【发布时间】:2017-02-23 21:11:41
【问题描述】:
我正在使用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() 的调用中添加一行来添加这样的列?还是我应该使用另一种方法?
【问题讨论】: