我刚刚尝试了这个非常有趣的关于构建文本挖掘机的Youtube-R教程:http://www.youtube.com/watch?v=j1V2McKbkLo
目前我已经到目前为止我所拥有的整个代码是
# Tutorial: http://www.youtube.com/watch?v=j1V2McKbkLo
# init
libs <- c("tm", "plyr", "class")
lapply(libs, require, character.only = TRUE)
# set options
options(stringsAsFactors = FALSE)
# set parameters
candidates <- c("Obama", "Romney")
pathname <- "C:/Users/***" # here I pointed out the name for reasons of anonymity
# clean text
cleanCorpus <- function(corpus){
corpus.tmp <- tm_map(corpus, removePunctuation)
corpus.tmp <- tm_map(corpus.tmp, stripWhitespace)
corpus.tmp <- tm_map(corpus.tmp, tolower)
corpus.tmp <- tm_map(corpus.tmp, removeWords, stopwords("english"))
return(corpus.tmp)
}
# build TDM
generateTDM <- function(cand, path){
s.dir <- sprintf("%s/%s", path, cand)
s.cor <- Corpus(DirSource(directory = s.dir, encoding = "ANSI"))
s.cor.cl <- cleanCorpus(s.cor)
s.tdm(TermDocumentMatrix(s.cor.cl))
s.tdm <- removeSparseTerms(s.tdm, 0.7)
result <- list(name = cand, tdm = s.tdm)
}
tdm = lapply(candidates, generateTDM, path = pathname)
当我尝试运行此操作时,我不断收到以下错误消息:
tdm = lapply(candidates, generateTDM, path = pathname)
Error in DirSource(directory = s.dir, encoding = "ANSI") :
empty directory
我无法弄清楚错误的位置。我尝试了几个版本的目录路径,但没有一个工作。我不确定RStudio中的错误是否无法访问本地保存的数据,或者它是否在整体代码中,如果有人可以帮助我或提供任何提示,我将非常高兴。
谢谢!
答案 0 :(得分:0)
在Windows上,您需要按\
(而不是/
)分隔路径组件,而在R字符串中,您需要输入"\\"
才能获得单个\
。因此,您可以(希望)通过定义pathname
来解决您的问题,如下所示:
pathname <- "C:\\Users\\***"
(当然是写正确的路径而不是开头)。