TermDocumentMatrix不适用于语料库
尝试加载许多电子邮件文件,让R了解什么是垃圾邮件或火腿。首先,我创建了一个语料库,我想创建一个术语文档,我收到了一个错误。如何修复它TermDocumentMatrix不适用于语料库,r,term-document-matrix,R,Term Document Matrix,尝试加载许多电子邮件文件,让R了解什么是垃圾邮件或火腿。首先,我创建了一个语料库,我想创建一个术语文档,我收到了一个错误。如何修复它 email_corpus <- Corpus(VectorSource(NA)) setwd("C:/ham_spam/") library(tm) library(stringr) email_corpus <- Corpus(VectorSource(NA)) folders <- c("easy_ham/", "spam_2/")
email_corpus <- Corpus(VectorSource(NA))
setwd("C:/ham_spam/")
library(tm)
library(stringr)
email_corpus <- Corpus(VectorSource(NA))
folders <- c("easy_ham/", "spam_2/")
for(n in 1:2){
folder <- folders[n]
for(i in 1:length(list.files(folder))){
email <- list.files(folder)[i]
tmp <- readLines(str_c(folder, email))
tmp <- str_c(tmp, collapse = "")
tmp_corpus <- Corpus(VectorSource(tmp))
email_corpus <- c(email_corpus, tmp_corpus)
}
}
dtm_email <- DocumentTermMatrix(email_corpus)
email\u corpus将两个语料库与c()
组合,通过将其转换为一个简单的列表
来删除语料库
类型
另一方面,使用VCorpus
和c()
将保留VCorpus
类型
用VCorpus
替换所有Corpus
函数,问题应该得到解决。将两个语料库与c()
组合,将语料库
类型转换为一个简单的列表
来删除它
另一方面,使用VCorpus
和c()
将保留VCorpus
类型
用VCorpus
替换所有Corpus
函数,问题应该得到解决。您可以尝试以下方法:
将工作目录设置为包含ham和垃圾邮件文件夹的文件夹:
setwd('/path/to/dir/that/contains/folders/')
folders <- c("easy_ham/", "spam_2/")
然后可以使用lappy()
读取文件:
email_txt <- lapply(emails, function(x) {
tmp <- readLines(x)
tmp <- str_c(tmp, collapse = "")
return(tmp)
})
您可以尝试以下方法:
将工作目录设置为包含ham和垃圾邮件文件夹的文件夹:
setwd('/path/to/dir/that/contains/folders/')
folders <- c("easy_ham/", "spam_2/")
然后可以使用lappy()
读取文件:
email_txt <- lapply(emails, function(x) {
tmp <- readLines(x)
tmp <- str_c(tmp, collapse = "")
return(tmp)
})
email_corpus <- VCorpus(VectorSource(email_txt))
dtm_email <- DocumentTermMatrix(email_corpus)