一、用R语言建立文档矩阵

(这里我选用的是R x64 3.2.2)

(这里我取的是04年NIPS共计207篇文档做分析,其中文档内容已将开头的作者名和最后的参考文献进行过滤处理)

##1.Data Import  导入自己下的3084篇NIPStxt文档

library("tm")#加载tm包

stopwords<- unlist(read.table("E:\\AllCode\\R\\stopwords.txt",stringsAsFactors=F))

dir<-"E:\\newtext(No including Authors and References)\\2004"  #NIPS文本文档的路径

nips<-Corpus(DirSource(dir),readerControl=list(language="en"))

##2.Transformations

nips <- tm_map(nips, stripWhitespace)#去多余空白

nips <- tm_map(nips, content_transformer(tolower))#转换为小写

nips <- tm_map(nips, removeWords, stopwords)#去停用词

library("SnowballC")

nips <-tm_map(nips, stemDocument)#采用Porter‘s stemming 算法提取词干

##3.Creating Term-Document Matrices

#将处理后的语料库进行断字处理,生成词频权重矩阵(稀疏矩阵)也叫词汇文档矩阵

dtm <- DocumentTermMatrix(nips)

##4.Reducing dimensions

#因为生成的矩阵是一个稀疏矩阵,再进行降维处理,之后转为标准数据框格式

#我们可以去掉某些出现频次太低的词。

dtm1<- removeSparseTerms(dtm, sparse=0.6))#除了词频统计中低于40%的稀疏条目项

data <- as.data.frame(inspect(dtm1))

二、WordCloud

library(wordcloud);

tdm<-TermDocumentMatrix(nips)

tdm_matrix<-as.matrix(tdm)

v <- sort(rowSums(tdm_matrix),decreasing=TRUE)

d <- data.frame(word = names(v),freq=v)

wordcloud(d$word,d$freq,c(8,.3),2)

png(paste("d://wb//sample_comparison",".png", sep = ""), width = 1500, height = 1500 );

comparison.cloud(tdm_matrix,colors=rainbow(ncol(tdm_matrix)));####由于颜色问题,稍作修改

title(main = "sample comparision");

dev.off();

三、文档矩阵进行聚类分析

层次聚类的结果图如下:(看不清)

##5.Clustering

#再之后就可以利用R语言中任何工具加以研究了,下面用层次聚类试试看

#先进行标准化处理,再生成距离矩阵,再用层次聚类

data.scale <- scale(data)

d <- dist(data.scale, method = "euclidean")

fit <- hclust(d, method="ward.D")
plot(fit,main ="文件聚类分析")

当然也可以用Kmeans聚类:

##5.Clustering

#下面用kmeans聚类分析

km<-kmeans(dtm1,centers=3)

用R语言对NIPS会议文档进行聚类分析的更多相关文章

  1. C语言函数库帮助文档

    C语言函数库帮助文档 安装 1.C语言库函数基本的帮助文档 sudo apt-get install manpages sudo apt-get install manpages-de sudo ap ...

  2. 用R创建Word和PowerPoint文档--转载

    https://www.jianshu.com/p/7df62865c3ed Rapp --简书 Microsoft的Office软件在办公软件领域占有绝对的主导地位,几乎每个职场人士都必须掌握Wor ...

  3. 可扩展标记语言XML之二:XML语言格式规范、文档组成

    大家好,小乐又来了,好久不见!这次接着上次可扩展标记语言XML之一:XML概念,作用,示例,继续讲述XML. 一.格式良好的 xml 1.语法规范: 1).必须有 XML 文档声明: <?xml ...

  4. C#6.0语言规范(十九) 文档注释

    C#为程序员提供了一种机制,可以使用包含XML文本的特殊注释语法来记录他们的代码.在源代码文件中,具有特定形式的注释可用于指示工具从这些注释和它们之前的源代码元素生成XML.使用这种语法的注释称为文档 ...

  5. C语言 · 新建Microsoft Word文档

    算法提高 新建Microsoft Word文档   时间限制:1.0s   内存限制:256.0MB      问题描述 L正在出题,新建了一个word文档,想不好取什么名字,身旁一人惊问:“你出的题 ...

  6. Linux下的换行符\n\r以及txt和word文档的使用

    Linux doc WINDOWS下记事本编写的文档和LINUX下VIM或者GEDIT等编写的文档的不同! 例如WINDOWS下编写的SH脚本,放到LINUX下执行可能会出错. 解决方法: 原因是:W ...

  7. readthedocs网托管持多语言文档

    希望在readthedocs上创建支持多语言的文档,效果类似: 通过语言选项,可以切到到不同的语言版本:实现这个目标包含两个主要步骤: 在本地对文档进行翻译 在readthedocs.org上配置翻译 ...

  8. go语言从零学起(一) -- 文档教程篇

    先记录一下自己学go语言的出发点 作为一个phper,精通一门底层语言一直是努力的目标. 相对于c,c++,go语言不需要过多的关注指针,内存释放,一两行代码就能跑起一个server服务,简直不要太简 ...

  9. R语言 一套内容 从入门 到放弃

    [怪毛匠子整理] 1.下载 wget http://mirror.bjtu.edu.cn/cran/src/base/R-3/R-3.0.1.tar.gz 2.解压: tar -zxvf R-3.0. ...

随机推荐

  1. 【改进版】C++小程序中一个cout输出语句背后的堆栈知识

    最开始写这篇文章的时候,凭着自己对汇编的一点理解就堆出了这些内容,经 egmkang的指点,才发觉自己是井底之蛙,花了半天的功夫,去学习顺序点等内容.针对上次写的程序,我决定添一些内容,把程序2后面的 ...

  2. phalcon框架学习之view

    phalcon框架的view分多级:全局-控制器视图-动作视图.视图由上到下,按层级嵌套. 全局视图 默认全局视图为Views/index.html,所有的页面展示时,默认调用此页面,在这个页面中必须 ...

  3. MAC OS下免费下载YouTube

    YouTube上有很多不错的视频,你感兴趣的视频除了可以加入自己播放列表之外,还可以将其下载到本地收藏起来.推荐这款软件“Xilisoft Download YouTube Video for Mac ...

  4. Interpreter

    #include <string> #include <iostream> #include <stack> using namespace std; stack& ...

  5. CSS3中颜色线性渐变实战

    css3线性渐变可以设置3个参数值:方向.起始颜色.结束颜色.最简单的模式只需要定义起始颜色和结束颜色,起点.终点和方向默认自元素的顶部到底部.下面举例说明: CSS Code复制内容到剪贴板 .te ...

  6. POJ C程序设计进阶 编程题#3:寻找山顶

    编程题#3:寻找山顶 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 在一个 ...

  7. IOS基础——alloc、init和new方法

    alloc:分配内存. init:初始化. new:代替上面两个函数:分配内存,并且初始化. 注意: 1.在实际开发中很少会用到new,一般创建对象时我们一般是 [[className alloc]i ...

  8. 《第一行代码--Android》阅读笔记之界面设计

    1.单位dp.dip.sp.pt.px.in.mm 这里引用StackOverFlow上的一个解答: px is one pixel. sp is scale-independent pixels. ...

  9. echarts 各种细节问题

    1.最大值最小值异常 //如果数组中的数字是字符串的形式的话,echarts计算最大最小值不正确,故将String的数字转化成Number类型 //将包含字符串的数组转化为浮点数数组 function ...

  10. phpmyadmin误删表后的恢复过程(心惊胆跳啊)

    话说今天不知道是抽风了还是失魂了,在用phpmyadmin删除测试数据时,竟然将整个表删除了: 等程序运行出错时,才出现整个表都没有了,而且之前也没有备份好!这下蛋疼了,这个可是production服 ...