R 基于长列表删除停止字

R 基于长列表删除停止字,r,tm,R,Tm,我有一个包含60000行/短语的数据框,我想将其用作停止词并从文本中删除 我使用tm软件包,在阅读csv文件和停止字列表后,我使用这一行: corpus <- tm_map(corpus, removeWords, df$mylistofstopwords) 名单太大了,有什么问题吗?我可以做些什么来修复它吗?您可以通过将停止字列表拆分为多个部分来解决问题,如下所示: chunk <- 1000 i <- 0 n <- length(df$mylistofstopwor

我有一个包含60000行/短语的数据框,我想将其用作停止词并从文本中删除

我使用tm软件包,在阅读csv文件和停止字列表后,我使用这一行:

corpus <- tm_map(corpus, removeWords, df$mylistofstopwords)

名单太大了,有什么问题吗?我可以做些什么来修复它吗?

您可以通过将停止字列表拆分为多个部分来解决问题,如下所示:

chunk <- 1000
i <- 0
n <- length(df$mylistofstopwords)
while (i != n) {
    i2 <- min(i + chunk, n)
    corpus <- tm_map(corpus, removeWords, df$mylistofstopwords[(i+1):i2])
    i <- i2
}

chunk拆分列表并使用两个不同的
removeWords
列表调用
tm\u map
两次?@MrFlick我试图拆分整个列表,但问题还是一样的。我只试了前2000行,效果很好。我只是想知道是否有一个更有效的代码解决方案和可能的快捷方式这些很长的单词?
范围是什么(nchar(df$mylistofstopwords))
?@MrFlick我试图键入
范围(nchar(df$mylistofstopwords))
,但我收到此错误:
nchar(df$mylistofstopwords)中的错误:'nchar()'需要字符向量
该列不是字符类吗?
类(df$mylistofstopwords)
返回什么?可能是
range(nchar(as.character(df$mylistofstopwords)))或
mean()`
chunk <- 1000
i <- 0
n <- length(df$mylistofstopwords)
while (i != n) {
    i2 <- min(i + chunk, n)
    corpus <- tm_map(corpus, removeWords, df$mylistofstopwords[(i+1):i2])
    i <- i2
}
library(corpus)
x <- term_matrix(corpus, drop = df$mylistofstopwords)