假设有一个字符串“COLORED PENCIL STAEDTLER NORIS CLUB ASSORTED COLORS PKT12”。我的代码是:stemDocument在TermDocumentMatrix中工作,但在tm_map中无法使用tm和R
> a1 <- VCorpus(VectorSource("COLORED PENCIL STAEDTLER NORIS CLUB ASSORTED COLORS PKT12"))
> a3 <- TermDocumentMatrix(a1,control = list(stemming=T))
的矩阵是:
Docs
Terms 1
assort 1
club 1
color 2
nori 1
pencil 1
pkt12 1
staedtler 1
所以我们可以看到stemDocument适用于有色和颜色,这两种转作颜色。但是,如果我这样做:
> a1 <- VCorpus(VectorSource("COLORED PENCIL STAEDTLER NORIS CLUB ASSORTED COLORS PKT12"))
> a2 <- a1 %>% tm_map(PlainTextDocument) %>% tm_map(stemDocument,"english")
> a2[[1]]$content
[1] "COLORED PENCIL STAEDTLER NORIS CLUB ASSORTED COLORS PKT12"
> a2 <- a2 %>% TermDocumentMatrix()
的矩阵是:
Docs
Terms character(0)
assorted 1
club 1
colored 1
colors 1
noris 1
pencil 1
pkt12 1
staedtler 1
我们可以看到stemDocument不在这里工作了。我注意到这里有“字符(0)”,这在上面的矩阵中没有显示。但我不知道为什么?
我的情况是我需要为stopwords,stemDocument等文本数据做一些预处理。然后我需要将处理后的文本保存到csv文件中。所以在这里我不能直接使用TermDocumentMatrix来生成矩阵。任何人都可以帮我在这里吗?非常感谢。
非常感谢。这工作。但有些奇怪。看起来像txt < - tolower(txt)是必要的。没有它,它就无法工作。此外,我尝试了txt < - toupper(txt),这也不起作用。无法弄清楚原因 –