我想在分析前预处理我的文本
mydat
Production of banners 1,2x2, Cutting
Production of a plate with the size 2330 * 600mm
Delivery
Placement of advertising information on posters 0.85 * 0.65 at Ordzhonikidze Street (TSUM) -Gerzen, side A2 April 2014
Manufacturing of a banner 3,7х2,7
Placement of advertising information on the prismatron 3 * 4 at 60, Ordzhonikidze, Aldjonikidze Street, A (01.12.2011-14.12.2011)
Placement of advertising information on the multipanel 3 * 12 at Malygina-M.Torez street, side A, (01.12.2011-14.12.2011)
Designer services
41526326
12
Mounting and rolling of the RIM on the prismatron 3 * 6
代码
mydat=read.csv("C:/kr_csv.csv", sep=";",dec=",")
tw.corpus <- Corpus(VectorSource(mydat$descr))
tw.corpus <- tm_map(tw.corpus, removePunctuation)
tw.corpus <- tm_map(tw.corpus, removeNumbers)
tw.corpus = tm_map(tw.corpus, content_transformer(tolower))
tw.corpus = tm_map(tw.corpus, stemDocument)
#deleting emptu documents
doc.m <- DocumentTermMatrix(tw.corpus)
rowTotals <- apply(doc.m , 1, sum) #Find the sum of words in each Document
doc.m.new <- doc.m[rowTotals> 0, ]
1.
我如何知道在预处理过程中删除的观察数量(例如第一,第二文本被删除)?
2.
此次观察数量如何从原始数据集(mydat)中删除?
答案 0 :(得分:1)
在预处理并阻止语料库后,您将计算每个文档中剩余的单词数。当然,没有文字的“文件”计数为零。此外,只有字母和标点符号的文档也是空的,因为您删除了这些字符串。
在您的数据中,您有许多空行的“文档”。总的来说,你的语料库中有28个“文档”,但其中一半以上是空行(即它们包含零个单词)。
您在rowTotals
中计算每个文档的字数。如果您检查rowTotals
中的哪个条目等于零,您将获得随后从doc.m
中删除的文档编号:
rowTotals
# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
# 3 5 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 2 8 8 2 0 0 0 7
您可以看到文档4,5,6,7,8,9,10,11,12,13等都包含零个字,因此doc.m
中不存在。您可以使用which()
自动获取这些号码:
which( rowTotals == 0)
# [1] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 25 26 27