我的数据是一个txt文件,如下所示:
单词number_doc
1
客户1
商店1
marge 1
价格2
库存2
经济学2
文档的数量被排序(从最小到最大)。现在,我希望每个文档都包含属于文档的所有单词。现在他们站在一列中,但是我想要textDocument中的所有单词(来自包tm,因为它是包中某些函数的一部分)。我是这样做的:
data <- read.table("poging.txt", header = TRUE)
data
doc <- c()
#I paste all the words from a document together:
doc[1] <- paste(data[1:4,1], collapse = ' ')
doc[2] <- paste(data[1:4,1], collapse = ' ')
#Make a data.frame of it
doc_df <- data.frame(docs = doc, row.names = 1:2)
#Install package
install.packages("tm")
library(tm)
#Make a Dataframesource of it so that each row is seen as a document
ds <- DataframeSource(doc_df)
inspect(VCorpus(ds))
#Now I want to stem for example document number 1
stemDocument(ds[[1]])但是,通过使用ds[[1]]作为参数,它不起作用。他找不到一号文件。有人能帮我吗?
在包tm的示例中,它们使用数据crude。我希望我的数据与来自crude的数据格式相同。
赛克
发布于 2014-09-28 16:06:45
stemDocument()用于TextDocument,而不是DataSource。您希望使用DataSource创建一个语料库,然后可以从其中提取文档。
ds <- DataframeSource(doc_df)
corpus <- VCorpus(ds)
stemDocument(corpus[[1]])请注意,stemDocument将返回一个新文档,并且不会永久更新该语料库。因此,如果希望对输出执行任何操作,请确保将其保存在某个地方。
https://stackoverflow.com/questions/26066888
复制相似问题