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

通过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

 



posted @ 2018-07-26 16:58  charmesp  阅读(1273)  评论(0编辑  收藏  举报