首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在R中设置worldcloud以仅跟踪长度大于3个字符的单词,以防止出现错误消息

如何在R中设置worldcloud以仅跟踪长度大于3个字符的单词,以防止出现错误消息
EN

Stack Overflow用户
提问于 2017-04-26 04:36:12
回答 2查看 454关注 0票数 0

我是R的初学者,正在尝试创建一个单词云。我的代码和我无法修复的错误消息如下:

我导入了一个包含tweet的csv文件,从csv文件中包含tweet文本的列中创建了一个列表,然后尝试了下面的代码,它给出了上面的错误消息:

代码语言:javascript
运行
复制
myCorpus <- Corpus(VectorSource(tweets))
myCorpus <- tm_map(myCorpus, tolower)
myCorpus <- tm_map(myCorpus, removePunctuation)
myCorpus <- tm_map(myCorpus, removeNumbers)
myCorpus <- tm_map(myCorpus, stripWhitespace)
myCorpus <- tm_map(myCorpus, removeWords, stopwords('english'))

字符串宽度错误(wordsi,cex = sizei,...):无效的'cex‘值另外:警告消息: 1: In max(freq):没有非遗漏的参数到max;返回-Inf 2: In max(freq):没有非遗漏的参数到max;返回-Inf

在这篇文章中,它指出这个错误消息是由于有长度小于3个字符的单词:word cloud -Error in strwidth(words[i], cex = size[i], ...) : invalid 'cex' value

我的代码与本例中的代码不同,因此我尝试通过下面的代码行将字符长度设置为大于3,以避免出现上述错误消息。但是,这将返回以下新的错误消息:

代码语言:javascript
运行
复制
myCorpus <- which(length(myCorpus)>3)

UseMethod("TermDocumentMatrix",x)出错:“TermDocumentMatrix”没有适用于"c('integer','numeric')“类的对象的适用方法。”

我非常感谢关于如何解决这个问题的指导。非常感谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2017-04-26 04:52:16

Length不返回字符串中的字符数,而是向量中的元素数。

根据文档,过滤3个或更少字符的单词的一种方法如下:

代码语言:javascript
运行
复制
for(i in 1:length(myCorpus)) {
    myCorpus[[i]] <- removeWords(myCorpus[[i]], ".{3}?")
}
票数 0
EN

Stack Overflow用户

发布于 2017-04-27 07:58:52

我无法解决上面的错误,但下面类似的代码成功地创建了一个没有错误消息的词云:

代码语言:javascript
运行
复制
file<-read.csv("file",stringsAsFactors = FALSE)

library(tm)
library(SnowballC)
library(wordcloud)

file<-Corpus(VectorSource(file))

file<-tm_map(file, PlainTextDocument)

file<- tm_map(file, removePunctuation)
file<- tm_map(file, removeWords, stopwords('english'))
file<- tm_map(file, stemDocument)

wordcloud(file, max.words = 100, random.order = FALSE)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43620483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档