本文章从爬虫、词频统计、可视化三个方面讲述了R语言的具体应用,欢迎大家共同谈论学习
1、使用 rvest 进行数据的爬取
#如果没有,先安装rvest包 install.packages("rvest") library(rvest) url <- "http://www.sohu.com/a/123426877_479559" #读取数据,规定编码 web <- read_html(url, encoding = "utf-8") position <- web %>% html_node("article.article") %>% html_text()- %>%管道函数,将左边的值赋给右边函数作为第一个参数的值
- web存储网页信息的变量。
- html_nodes()函数获取网页里的相应节点
- html_text()函数获取标签内的文本信息
要获取网页中的节点,打开所要爬取网页内容——>按F12——>找到内容所对应的网页节点

2、使用jiebaR进行分词,统计词频
#install.packages("jiebaR") library(jiebaR) #初始化分词引擎并加载停用词 #user表示需要组合到一起的单词 #stop_word删除不需要出现的词 engine_s <- worker(user = "E:/R-Test/dictionary.txt", stop_word = "E:/R-Test/stopwords.txt") #分词处理 seg<-segment(position, engine_s) #统计词频 f <- freq(seg) #根据词频降序排列(FALSE升序排列) f <- f[order(f[2], decreasing = TRUE),] #显示前30行的数据 head(f, 30)1)“dictionary.txt”,是指明需要组合到一起的词组,比如说在默认情况下分词的结果可能会将“机器学习”处理成“机器”,“学习”,而我们其实想要的是“机器学习”,所以需要加载此字典表进行指定。注意:此文件的内容是自己指定的,具体内容如下:
机器学习 公众号 互联网 大鳄 大数据2)“stopwords.txt”,是需要过滤掉的词组,比如“它”、“就是”、“作者”等词对于我们分析没有实际意义,我们就不需要统计他们,具体内容:
是 就是 在 也 你 他 这个 作者 了 我 的 它3、使用wordcloud2包进行可视化
wordcloud2包的安装就不能像前面的直接使用install.packages("wordcloud2")进行安装了,因为这样的安装的wordcloud2就无法绘制图片和汉字的词云。他需要先安装“devtools”包,具体方法如下:
#安装方法1: install.packages('devtools') library('devtools') install_github("lchiffon/wordcloud2") library(wordcloud2) #安装方法2(在RStudio中执行): if(!require(devtools)) install.packages("devtools") devtools::install_github('lchiffon/wordcloud2')然后就使用词云进行绘图了,这里 shape 的参数有:默认为圆形(circle),cardioid(心形),star(星形),diamond(钻石形),triangle-forward(三角形),triangle(三角形),这两个三角形就是倾斜方向不同而已,pentagon(五边形)。
#为了显示效果,只提取前150个字 f2 <- f[1:150,] #形状设置为一颗五角星 wordcloud2(f2, size = 0.8, shape = "star" wordcloud2(f2, size =0.745, shape = "cardioid") wordcloud2(f2, size =0.9, shape = "diamond")
加载一张图片,让显示图片的样式
#加载一张图片
