《机器学习:实用案例解析》第三章 (3)

代码:

library(tm)
library(ggplot2)
spam.path<-"data/spam/"
spam2.path<-"data/spam_2/"
easyham.path<-"data/easy_ham/"
easyham2.path<-"data/easy_ham_2/"
hardham.path<-"data/hard_ham/"
hardham2.path<-"data/hard_ham_2/"

get.msg<-function(path){
  con<-file(path,open="rt")
  text<-readLines(con,warn=FALSE)
  msg<-text[seq(which(text=="")[1]+1,length(text),1)]
  close(con)
  return(paste(msg,collapse="\n"))
}

spam.docs<-dir(spam.path)
spam.docs<-spam.docs[which(spam.docs!="cmds")]
all.spam<-sapply(spam.docs,
                 function(p) get.msg(paste(spam.path,p,sep="")))
#head(all.spam)

get.tdm<-function(doc.vec){
  doc.corpus<-Corpus(VectorSource(doc.vec))
  control<-list(stopwords=TRUE,
                removePunctuation=TRUE,
                removeNumbers=TRUE,
                minDocFreq=2)
  doc.dtm<-TermDocumentMatrix(doc.corpus,control)
  return(doc.dtm)
}

spam.tdm<-get.tdm(all.spam)

报错:

 Error in tolower(txt) : invalid multibyte string 6 

解决办法:

终端里输入

Sys.setlocale(category = "LC_ALL", locale = "us")
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值