全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
4189 2
2019-06-16
用r做情绪识别时出现了问题,源代码如下:
library(rJava)
library(Rwordseg)
library(tm)
library(NLP)
setwd("d:\\第三次作业")#设置目录
comdata=read.csv("book.csv",header=T,stringsAsFactors=F)
comdata$情绪标识=as.factor(comdata$情绪标识)#输出变量转为因子型、
installDict('财经金融词汇大全.scel',dictname = 'finwords')
installDict('政治学词库大全.scel',dictname = 'finwords')#导入搜狗词库
com_dataTemp=gsub("[0-9#<>~a-z]","",comdata$评论)#删除字母和数字
com_dataseg=segmentCN(com_dataTemp)#分词
stopwords=read.csv("book.csv",stringsAsFactors=F)#去停词
removeStopWords=function(x,words)#逐行删除停用词函数
{
  ret=character(0)#空变量,用于存储词汇
  index=1#循环起始点
  it_max=length(x)#测量一行词汇的数量
  while(index<=it_max)
  {#条件判断:如果不是停用词
    if(length(words[words==x[index]])<1)
    {#把该词记录下来
      ret=c(ret,x[index])
    }
    index=index+1#下一个
  }
  return(ret)#返回非停用词
}
com_dataseg_clean=lapply(com_dataseg,removeStopWords,stopwords)#逐行调用函数removeStopWords
com_corpus=Corpus(VectorSource(com_dataseg_clean))
inspect(com_corpus[1:3])#生成语料库
com_dtm=DocumentTermMatrix(com_corpus,control = list(wordLengths=c(1,Inf)))#把语料库转换成词矩阵
set.seed(111)#设置随机数
train_index=which(comdata$class=="train")#获得训练集位置
com_raw_train<-comdata[train_index,]#原始数据训练集
com_raw_test<-comdata[train_index,]#原始数据测试集
com_dtm_train<-com_dtm[train_index,]
com_dtm_text<-com_dtm[train_index,]#分割词条文档矩阵
com_corpus_train<-com_corpus[train_index]
com_corpus_train<-com_corpus[train_index]#分割语料
com_dict<-findFreqTerms(com_dtm_train,2)
write.csv(com_dict,"com_dict.csv") #    findFreqTerms函数查询超过一定频数的词条,例如查询出现两次以上的词条
com_dict.clean=read.csv("com_dict.csv",header=F,stringsAsFactors = F)
com_dict.clean=as.matrix(com_dict.clean)
com_dict.clean=as.vector(com_dict.clean)#对于词典进行人工干预,筛选感情词
com.dtm=DocumentTermMatrix(com_corpus)
com.dtm=as.matrix(com.dtm)
com.dtm.clean=com.dtm[,com_dict.clean]
com_train<-com.dtm.clean[train_index,]

倒数第二句无法运行,会得到以下回复:
Error in com.dtm[, com_dict.clean] : subscript out of bounds
这是为什么呢
附件列表

book.xlsx

大小:17.21 KB

 马上下载

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-6-16 01:15:06
数据局我也发上来了,求大神解答
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-6-18 12:39:35
应该是赋值对象格式不匹配吧?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群