通过R语言统计考研英语(二)单词出现频率
大家对英语考试并不陌生,首先是背单词,就是所谓的高频词汇。厚厚的一本单词,真的看的头大。最近结合自己刚学的R语言,为年底的考研做准备,想统计一下最近考研英语(二)真正单词出现的频率次数。
整体思路:
收集数据-->整理数据-->统计分析-->输出结果
使用工具:
`Rstudio,文本编辑器,CSV`
涉及到的包: "jiebaR"(中文分词引擎),“plyr",
第一步收集数据:
从网络搜索2013-2018考研英语二真题,存成txt格式。
第二步整理数据
针对每个文件进行简单整理,去除不必要的文字。 例如:”2017年全国硕士研究生入学统一考试英语“、”答案 “,或者乱码之类。手工完成。
第三步:统计分析
3.1 打开R语言,安装所需要的包
install.packages("jiebaRD") #安装jiebaR之前先安装"jiebaRD" install.packages("jiebaR") install.packages("plyr") -- 加载包-- library(jiebaRD) library(jiebaR) library(plyr) 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加载文件,分析
setwd("d:/R") #设置文件所在根目录 --加载文件 test_file_2018 <- readLines("2018.txt",encoding = "UTF-8") #读取文件,编码格式是"UTF-8" test_file_2017 <- readLines("2017.txt",encoding = "UTF-8") test_file_2016 <- readLines("2016.txt",encoding = "UTF-8") test_file_2015 <- readLines("2015.txt",encoding = "UTF-8") test_file_2014 <- readLines("2014.txt",encoding = "UTF-8") test_file_2013 <- readLines("2013.txt",encoding = "UTF-8") --合并文件 用c() 把多个元素组成一个向量。 test_file <- c(test_file_2018,test_file_2017,test_file_2016,test_file_2015,test_file_2014,test_file_2013) test_file <-tolower(test_file) #把所有的字符转为小写 cutter=worker() #设置分词引擎 segWords <- segment(test_file,cutter) #对文本进行分词处理 --设置停顿词这里其实就是过滤词,一行一个单词,有些自认为很简单的词,比如:选项里 a,b,c,d,the,and,an 等等,或者先过滤这一步,等到统计频率出来,在根据需求一一添加即可。在相同的目录建一个文件"stopword.txt" f <- readLines("stopword.txt") stopwords <- c(NULL) for (i in 1:length(f)) { stopwords[i]<- f[i] } segWords<- filter_segment(segWords,stopwords) #过滤单词,filter_segment(源文本,过滤的词) segWords<-gsub("[0-9[:punct:]]+?","",segWords) #去除数字 0-9 表示数字,[:punct:]表示特殊字符 “! " # $ % & \' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~” tableWord <- count(segWords) #统计词频 view(tableWord)
停顿词示例stopword.txt:
第四步、输出结果
write.csv(tableWord,"tableWord.csv",fileEncoding = "UTF-8")#处出结果存为tableWord.csv 文件。
参考来源:https://blog.csdn.net/zx403413599/article/details/46730801
请发表评论