R 删除包含某个子字符串的单词
所以我做了一个函数,在单词库中接收,然后吐出一个干净的产品:R 删除包含某个子字符串的单词,r,text-mining,tm,corpus,R,Text Mining,Tm,Corpus,所以我做了一个函数,在单词库中接收,然后吐出一个干净的产品: corpus_creater <- function(corpus){ corpus <- tm_map(corpus, removePunctuation) corpus <- tm_map(corpus, content_transformer(tolower)) corpus <- tm_map(corpus, removeWords, stopwords("english")) corpus <-
corpus_creater <- function(corpus){
corpus <- tm_map(corpus, removePunctuation)
corpus <- tm_map(corpus, content_transformer(tolower))
corpus <- tm_map(corpus, removeWords, stopwords("english"))
corpus <- tm_map(corpus, stripWhitespace)
corpus <- tm_map(corpus, stemDocument)
}
corpus\u creater如果您直接获取语料库作为输入,您可以使用sapply
提取语料库的内容
,然后从语料库中删除具有所需字符串的文档
您可以通过以下方式将其集成到您的函数中:
corpus_creater <- function(corpus){
corpus <- tm_map(corpus, removePunctuation)
corpus <- tm_map(corpus, content_transformer(tolower))
corpus <- tm_map(corpus, removeWords, stopwords("english"))
corpus <- tm_map(corpus, stripWhitespace)
corpus <- tm_map(corpus, stemDocument)
#Added the below line
corpus <- corpus[-grep("http", sapply(corpus, `[`, 1))]
}
corpus\u创建者感谢您的回复!我试图将其集成到我的函数中,它返回错误“'names'属性[2000]必须与向量[3]相同长度”。我添加了一个语料库谢谢,它似乎消除了错误。然而,当我试图用代码生成我的wordcloud时(我在OP中添加了wordcloud的代码),它没有生成一个,显然是因为空值。有没有一种方法可以删除这个词,而不是为了wordcloud的目的而使它为空??错误是:Error-in-use-method(“TermDocumentMatrix”,x):没有适用于类为“NULL”的对象的“TermDocumentMatrix”的方法。
@Yeahprettymuch您可以尝试更新版本的答案吗?现在效果非常好,非常感谢!!!wordcloud以前有很多“http”,但现在它们都消失了!
corpus_creater <- function(corpus){
corpus <- tm_map(corpus, removePunctuation)
corpus <- tm_map(corpus, content_transformer(tolower))
corpus <- tm_map(corpus, removeWords, stopwords("english"))
corpus <- tm_map(corpus, stripWhitespace)
corpus <- tm_map(corpus, stemDocument)
#Added the below line
corpus <- corpus[-grep("http", sapply(corpus, `[`, 1))]
}