趣文网 > 作文大全

R导入自建文本绘制词云图

2020-12-06 04:55:01
相关推荐

最近小编和小伙伴们在一起学习如何用R绘制词云图,前面的文章也介绍了词云图的基本绘制方法,包括自定义词云图形状。但是,之前我们都是使用的内置数据集。那么,我们能不能用自己建立的文本作为数据集,来绘制词云图呢?答案是肯定的!

今天,小编就和大家一起来学习下如何完成自建文本绘制词云图。

首先,我们得创建一个文本,小编从网上下载了一首《春江花夜月》,把内容复制到了Word2016中。

选择菜单栏文件,在弹出页面选择“导出”,“更改文件类型”,“纯文本”点击“另存为”,然后需要我们选择将文件保存的位置,小编是保存在桌面的,命名为521。小伙伴们可随意保存(但是要记得位置哦),然后会弹出一个对话框,要我们选择编码类型,这里选择“其他编码”,选择“Unicode(UTF-8)”,点击“确定”

现在,我们就准备好自己的文本了。

当然喽,接下来就是在Rstudio中进行操作了。首先是准备工作

library(jiebaR)

library(jiebaRD)

library(wordcloud2)

这几行代码是加载相关包。前两个包的作用是分词,何为“分词”,就是把句子打断,成为一个个词组。最后的包小伙伴们应该熟悉,是绘制词云图的包(注意,小编已经安装了jiebaR和jiebaRD包,未安装的小伙伴需要先安装,代码install.packages("jiebaR")

text<-readLines("C:UsersAdministratorDesktop521.txt",encoding = "UTF-8")

上面代码是读取文件,也就是我们自建的txt文本。在代码中text是引入的变量名(名字可以根据需要改变),<-是赋值符号,-readLines("C:UsersAdministratorDesktop521.txt",encoding = "UTF-8")

是读取文本的函数,括号中"C:UsersAdministratorDesktop521.txt"是小编自建文本的路径,encoding = "UTF-8"是指编码方式为UTF-8

seg<-worker()

这句代码可以理解为初始化worker()函数,worker()函数是jiebaR包中的一个关键函数,承担这分词的作用!

seg<=text ,这句代码就是对文本进行分词,效果如下

我们可以看见,文本已经被分为一个个词组。

freq<-freq(segment(text,seg))

这句代码的意思是统计分开的词组中出现的频率,其中freq是一个变量,这是随便取的名字,<-赋值符号。freq(segment(text,seg))是统计频率的函数,括号中的segment(text,seg)是一个整体,当然其本身也是一个函数,小伙伴们要是觉得这样不容易理解,小编可以多引入一个变量。比如x<- segment(text,seg),然后freq<-freq(segment(text,seg))变为freq<-freq(x),当然,要是不好理解也不必强求,只要会用就行。

index <- order(-freq[,2])

order2<-freq[index, ]这两句就是进行排序操作,其中order(-freq[,2])中-freq前有“-”号,就是指降序。(这两句代码其实不太好理解,但小编今天不打算详细讲,怕让小伙伴们听得一头雾水,姑且就把这两行代码视为降序吧,后面有机会我们再深入讲解)

wordcloud2(order2,size = 1, color = "random-light")最后这行代码就是绘图了。我们前面那么多操作,在wordcloud2(order2,size = 1, color = "random-light")中就是order2这个参数。

绘制词云图如下

感觉代码有点乱,小编把代码整个贴一下

library(jiebaR)

library(jiebaRD)

library(wordcloud2)

text<-readLines("C:UsersAdministratorDesktop521.txt",encoding = "UTF-8")

seg<-worker()

seg<=text

freq<-freq(segment(text,seg))

index <- order(-freq[,2])

order2<-freq[index, ]

wordcloud2(order2,size = 1, color = "random-light")

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

以勇气为话题的作文 关于人间真情的作文 关于诚实守信的作文 2012中考作文 感谢有你作文600字 最牛小学生作文 按时间顺序写的作文 竞争与合作的作文 报答父母的作文 全神贯注的作文 陕西高考作文题目 小学生作文范例 十一见闻作文 2021高考作文题目 父母的爱作文600字 王俊凯写的作文 泰山游记作文 雨中的故事作文 成功是成功之母作文 包饺子作文600字 缅怀革命先烈作文 母爱话题作文 关于写雨的作文 改变自己英语作文 秋天的快乐作文 写童年趣事的作文 安全伴我行作文 回忆往事的作文 中国梦英语作文 高考满分作文大全