嗨,我正在尝试使用R中的tm包从文档的CSV文件创建语料库。通过阅读文档,我了解到DataframeSource需要两列:1)唯一标识符和2)文本。每行应该是一个新文档。
doc_id text
1 Document 1
2 Document 2
我有一个源数据文件,其中包含许多文档,这些文档都跨越多行。
doc_id text
1 Document 1
1 Document 1 continued
2 Document 2
2 Document 2 continued
是否有一种快速整洁的方法来读取具有与同一文档相同的标识符的所有内容?谢谢!
答案 0 :(得分:0)
您能利用group_by
和paste
将字符放入一个字段中吗?使用dplyr的方法:
library(tidyverse)
data <- data.frame(doc_id = as.character(c(1,1,2,2)), text_old = c('text 1', 'text 1
cont.','text 2', 'text 2 cont.'), stringsAsFactors = FALSE)
x <- data %>%
group_by(doc_id) %>%
mutate(text = paste(text_old, collapse = ",")) %>%
select(doc_id, text) %>%
unique() %>%
as.data.frame() %>%
DataframeSource()
x <- Corpus(x)
inspect(x)
<<SimpleCorpus>>
Metadata: corpus specific: 1, document level (indexed): 0
Content: documents: 2
1 2
text 1,text 1 cont. text 2,text 2 cont.