R语言分词并绘图——以《老人与海》为对象

> library(tm)
> library(tmcn)
> library(jiebaR)
> library(tau)
> library(Rwordseg)
> library(wordcloud2)
> oldman<-readLines("老人与海.txt",encoding = "UTF-8") #read the file in lines
Warning message:
In readLines("老人与海.txt", encoding = "UTF-8") :
incomplete final line found on ‘鑰佷汉涓庢捣.txt‘
>#上面的提醒是因为在文章最末尾没有回车就结束了
> class(oldman) #inspect the class of this file
[1] "character"
> head(oldman) #inspect the head information
[1] "『老人与海/作者:欧内斯特·海明威』"

[2] "『状态:全本』"

[3] "『内容简介:"

[4] " 这部小说是根据一位古巴渔夫的真实经历创作的,以摄象机般的写实手法记录了桑提阿果老人捕鱼的全过程,塑造了一个在重压下仍

然保持优雅风度、在精神上永远不可战胜的老人形象。这部小说创下了人类出版史上空前绝后的一个纪录:48小时售出530万册! 作品在当年就

获得了普利策奖,两年后又获得了诺贝尔奖。』"
[5] "天下电子书Txt版阅读,下载和分享更多电子书请访问:http://www.txdzs.com,手机访问:http://wap.txdzs.com,E-

mail:[email protected]"

[6] "------章节内容开始-------"

> wk=worker() #create a worker
> oldman_seg=segment(oldman,wk) #divide the text
> head(oldman_seg)
[1] "老人与海" "作者" "欧内斯特" "海明威" "状态" "全本"
> length(oldman_seg) #get the length of the vector
[1] 25296
> oldman_seg<-remove_stopwords(oldman_seg,stopwordsCN()) #去除停用词
> length(oldman_seg) #计算去除停用此以后的向量长度
[1] 15085
> oldman_freq<-getWordFreq(oldman_seg) #生成词频矩阵
> oldman_freq<-oldman_freq[oldman_freq$Freq>20,] #提取词频大于20的词
> nrow(oldman_freq) #得到词频大于20的词的数目
[1] 91
> wordcloud2(oldman_freq) #绘制词图


> oldman_freq[order(oldman_freq$Freq,decreasing = TRUE),] #降序查看词频
Word Freq
1961 老人 216
2793 上 211
3607 想 189
3112 说 186
4100 鱼 161
788 钓索 152
2636 去 117
226 不 106
1282 孩子 97
844 都 85
417 吃 79
2209 没有 75
2770 鲨鱼 75
1994 里 74
4375 知道 73
1385 很 72
3948 一条 66
1483 会 64
1330 好 61
1273 还 60
1827 看见 55
1096 感到 54
592 大 51
3645 小船 49
3595 现在 48
4363 只 48
830 东西 47
4416 中 46
723 地方 45
2854 身子 45
2680 人 44
4185 再 44
3834 也许 43
2930 时 42
3987 已经 39
2956 使 36
3556 下 36
3624 象 36
3232 太阳 35
482 船 34
496 船头 33
2890 声来 33
3116 说出 33
4585 左手 33
2329 那条 32
494 船梢 30
2531 起来 30
3090 水面 30
3781 眼睛 30
3085 水里 29
4535 走 29
3872 一点 28
4303 这鱼 28
1174 更 27
3076 双手 27
3956 一下 27
4127 渔夫 27
618 大鱼 26
1650 觉得 26
2627 鳅 26
3005 手 26
3451 尾巴 26
3786 眼下 26
4237 长 26
309 才 25
1296 海面 25
3570 下去 25
253 不会 24
265 不能 24
3877 一定 24
3932 一起 24
4118 鱼肉 24
1300 海水 23
1685 金枪鱼 23
1814 看 23
4059 怞 23
4099 右手 23
1100 干 22
1474 回来 22
2003 力气 22
2410 弄 22
3384 拖 22
3874 一点儿 22
3971 一只 22
4105 鱼饵 22
4352 正在 22
530 此刻 21
1008 飞鱼 21
1618 桨 21
1889 快 21
3101 水中 21
> #如果长度小于一个汉字的词不计算在内的话,得到如下结果
> oldman_freq1<-oldman_freq[nchar(oldman_freq$Word)>1,]
> nrow(oldman_freq1)
[1] 55
> wordcloud2(oldman_freq1)

时间: 2024-12-11 06:04:45

R语言分词并绘图——以《老人与海》为对象的相关文章

R语言学习笔记-绘图相关

绘图函数变量解释: 1.绘图函数 plot  高级绘图函数,能自动创建新的绘图窗口 lines,points 低级绘图函数,用于在已有图形上叠加新的图形. lengend 图例,低级绘图函数 下面的例子画cpu1,c2两条曲线: plot(cpu1,type="o",pch=15,lty=1,col="blue") lines(c2,type="o",pch=1,lty=1,col="red") legend("to

R语言学习笔记2——绘图

R语言提供了非常强大的图形绘制功能.下面来看一个例子: > dose <- c(20, 30, 40, 45, 60)> drugA <- c(16, 20, 27, 40, 60)> drugB <- c(15, 18, 25, 31, 40) > plot(dose, drugA, type="b") > plot(dose, drugB, type="b") 该例中,我们引入了R语言中第一个绘图函数plot.pl

R语言学习资源

入门视频教程 R语言初级课程(1)- R语言快速入门http://cos.name/videos/intro-2-r/ 代码 #对象 1+1*3 c(1,2,3,4,5) c('helloworld','i am a R user') c("hehe","haha") 1:6 6:1 exp(1:4) log(1:3) a<-c(1,2,3,4,5) a[1] a[1:3] a[-4] a>3 a[a>3] #数组,类型需要一致 x<-1:1

比较分析C++、Java、Python、R语言的面向对象特征,这些特征如何实现的?有什么相同点?

一门课的课后题答案,在这里备份一下: 面向对象程序设计语言 –  比较分析C++.Java.Python.R语言的面向对象特征,这些特征如何实现的?有什么相同点? C++ 语言的面向对象特征: 对象模型:封装 (1)  访问控制机制: C++提供完善的访问控制机制,分别是: public,protected和private. private, public, protected 访问标号的访问范围 public 可访问 1.该类中的函数 : 2.子类的函数: 3.其友元函数访问:4.该类的对象访

中文分词实践(基于R语言)

背景:分析用户在世界杯期间讨论最多的话题. 思路:把用户关于世界杯的帖子拉下来,然后做中文分词+词频统计,最后将统计结果简单做个标签云,效果如下: 后续:中文分词是中文信息处理的基础,分词之后,其实还有特别多有趣的文本挖掘工作可以做,也是个知识发现的过程,以后有机会再学习下. ================================================== * 中文分词常用实现: 单机:R语言+Rwordseg分词包 (建议数据量<1G) 分布式:Hadoop+Smallse

[R语言绘图]绘图样式设置(符号、线条、颜色、文本属性)

设置图像样式有两种方法,一种是全局修改,一种只针对一幅图片有效. 全局修改 a<-c(1:10) #全局修改 old_par<-par(no.readonly=TRUE) #记录默认样式到变量old_par中 par(lty=2,pch=17) #设置线型lty=2虚线,pch=17实心三角形,键值对的方式进行设置 #第一幅图,已经和默认样式不一样了 b<-rnorm(10) plot(a,b,type='b') #第二幅图,和第一幅图样式一样 b<-rnorm(10) plot(

R语言绘图——Graphics包

先给出一下参考说明: R绘图 http://www.cnblogs.com/holbrook/archive/2013/05/13/3075777.html R语言中颜色对照表 http://wenku.baidu.com/link?url=PnCsIjv3e_OGw2COt4AEo3_tHTisOYoHLGf9bf-jjzkfGIJhFZpEQrS6CAELUypnR82Wdj6VclURzzACwbUOszZVHoPnNt27RiM-Uv1B4z3 参考书<R语言核心技术手册> 我只是个勤

R语言中文分词包jiebaR

前言 本文挖掘是数据挖掘中一个非常重要的部分,有非常广阔的使用场景,比如我们可以对新闻事件进行分析,了解国家大事:也可以对微博信息进行分析,通过社交舆情看看大家的关注点.通过文本挖掘找到文章中的隐藏信息,对文章的结构进行分析,判断是不是同一个作者写文章:同时可以对邮件分析,结合bayes算法判断哪些是垃圾邮件,哪些是有用的邮件. 本文挖掘的第一步,就是要进行分词,分词将直接影响文本挖掘的效果.R语言在分词方面有很好的支持,接下来就给大家介绍一个不错的R语言中文分词包"结巴分词"(jie

R语言第三章 统计绘图表示第二节

R语言 第2节 1. 散点图 plot(x$x1,x$x2, main="数学分析与线性代数成绩的关系", xlab="数学分析", ylab="线性代数", xlim=c(0,100), ylim=c(0,100), xaxs="i",#Setx axis style as internal yaxs="i",#Sety axis style as internal col="red"