经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » R语言 » 查看文章
通过R语言统计考研英语(二)单词出现频率
来源:cnblogs  作者:charmesp  时间:2018/9/25 20:20:32  对本文有异议

通过R语言统计考研英语(二)单词出现频率

大家对英语考试并不陌生,首先是背单词,就是所谓的高频词汇。厚厚的一本单词,真的看的头大。最近结合自己刚学的R语言,为年底的考研做准备,想统计一下最近考研英语(二)真正单词出现的频率次数。

整体思路:

收集数据-->整理数据-->统计分析-->输出结果

使用工具:

  1. `Rstudio,文本编辑器,CSV`

涉及到的包: "jiebaR"(中文分词引擎),“plyr",

第一步收集数据:

  1. 从网络搜索2013-2018考研英语二真题,存成txt格式。

第二步整理数据

针对每个文件进行简单整理,去除不必要的文字。 例如:”2017年全国硕士研究生入学统一考试英语“、”答案 “,或者乱码之类。手工完成。

第三步:统计分析

3.1 打开R语言,安装所需要的包

  1. install.packages("jiebaRD") #安装jiebaR之前先安装"jiebaRD"
  2. install.packages("jiebaR")
  3. install.packages("plyr")
  4. -- 加载包--
  5. library(jiebaRD)
  6. library(jiebaR)
  7. library(plyr)
  8. search() #查看已经安装的包

 

search() [1] ".GlobalEnv" "package:xlsx" 
[3] "package:xlsxjars" "package:rJava" 
[5] "package:wordcloud" "package:RColorBrewer" [7] "package:plyr" "package:jiebaR" 
[9] "package:jiebaRD" "tools:rstudio" 
[11] "package:stats" "package:graphics" 
[13] "package:grDevices" "package:utils" 
[15] "package:datasets" "package:methods" 
[17] "Autoloads" "package:base"

3.2加载文件,分析

  1. setwd("d:/R") #设置文件所在根目录
  2. --加载文件
  3. test_file_2018 <- readLines("2018.txt",encoding = "UTF-8") #读取文件,编码格式是"UTF-8"
  4. test_file_2017 <- readLines("2017.txt",encoding = "UTF-8")
  5. test_file_2016 <- readLines("2016.txt",encoding = "UTF-8")
  6. test_file_2015 <- readLines("2015.txt",encoding = "UTF-8")
  7. test_file_2014 <- readLines("2014.txt",encoding = "UTF-8")
  8. test_file_2013 <- readLines("2013.txt",encoding = "UTF-8")
  9. --合并文件 c() 把多个元素组成一个向量。
  10. test_file <- c(test_file_2018,test_file_2017,test_file_2016,test_file_2015,test_file_2014,test_file_2013)
  11. test_file <-tolower(test_file) #把所有的字符转为小写
  12. cutter=worker() #设置分词引擎
  13. segWords <- segment(test_file,cutter) #对文本进行分词处理
  14. --设置停顿词这里其实就是过滤词,一行一个单词,有些自认为很简单的词,比如:选项里 a,b,c,dthe,and,an 等等,或者先过滤这一步,等到统计频率出来,在根据需求一一添加即可。在相同的目录建一个文件"stopword.txt"
  15. f <- readLines("stopword.txt")
  16. stopwords <- c(NULL)
  17. for (i in 1:length(f))
  18. {
  19. stopwords[i]<- f[i]
  20. }
  21. segWords<- filter_segment(segWords,stopwords) #过滤单词,filter_segment(源文本,过滤的词)
  22. segWords<-gsub("[0-9[:punct:]]+?","",segWords) #去除数字 0-9 表示数字,[:punct:]表示特殊字符 “! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~”
  23. tableWord <- count(segWords) #统计词频
  24. viewtableWord

 

  1. 停顿词示例stopword.txt

第四步、输出结果

  1. write.csv(tableWord,"tableWord.csv",fileEncoding = "UTF-8")#处出结果存为tableWord.csv 文件。

参考来源:https://blog.csdn.net/zx403413599/article/details/46730801

 



 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号