我的数据是一个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]]
作为参数,它不起作用。他找不到第1号文件。
有人能帮助我吗?
在示例om tm
包中,他们使用数据crude
。我希望我的数据格式与crude
格式相同。
西尔克
答案 0 :(得分:0)
stemDocument()
旨在与TextDocument一起使用,而不是与DataSource一起使用。您想使用DataSource创建语料库,然后您可以从那里提取文档。
ds <- DataframeSource(doc_df)
corpus <- VCorpus(ds)
stemDocument(corpus[[1]])
请注意,stemDocument
将返回一个新文档,并且不会永久更新语料库。因此,如果您希望对输出执行任何操作,请务必将其保存在某处。