全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1670 0
2015-05-08
我有一份新闻内容的数据,数据包含1790行2列,2列是新闻编号和新闻内容,现在是想做层次聚类,就得变成2行1790列,但是这样导入的特慢,就想先导入2列那种形式的,再进行转置,但有个疑问是转置之后header会自动识别为新闻编号吗?要是不能识别,怎么设置转置后第一行是标题呢?画出层次聚类的图只有三个元素,差太多了。以下是代码,请大家看看有什么问题,多多指教:

csv<- read.table("body1.txt",header=F)

csv <-t(csv)

library(tm)

txt<-Corpus(VectorSource(csv))

txt<-tm_map(txt,removeNumbers)#去除数字

txt<-tm_map(txt,stripWhitespace)#去除多余空格

txt<-tm_map(txt,removePunctuation)#去除标点符号

txt<-tm_map(txt,removeWords,stopwords("english"))#将英文中的停词删掉:例如把that at 等英文介词去掉。

txt<-tm_map(txt,PlainTextDocument)#去掉空文件


Sys.setenv(JAVA_HOME='C:/ProgramFiles/Java/jdk1.6.0_43/jre')

library(Rwordseg)

txt<-segmentCN(as.character(txt))#将语料库中的中文时行分词

txt<-Corpus(VectorSource(txt))


cnword<-read.table(file.choose(),header=F)

cnword<-as.vector(cnword[1:dim(cnword)[1],])#需要为向量格式

dtm<-DocumentTermMatrix(txt,control=list(dictionary=cnword,removePunctuation=TRUE,stopwords=TRUE,wordLengths = c(2, Inf)))

dtm2= removeSparseTerms(dtm, sparse=0.99)

d<- dist(dtm2, method = "euclidean")

fit<- hclust(d, method="ward.D")

plot(fit)


附件列表

body1.txt

大小:4.15 MB

 马上下载

这个是原数据

body.txt

大小:4.15 MB

 马上下载

这个是原本想直接导入做聚类的,但无奈导入太慢,电脑配置也不行

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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