通过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
通过R语言统计考研英语(二)单词出现频率的更多相关文章
- R语言统计学习-1简介
一. 统计学习概述 统计学习是指一组用于理解数据和建模的工具集.这些工具可分为有监督或无监督.1.监督学习:用于根据一个或多个输入预测或估计输出.常用于商业.医学.天体物理学和公共政策等领域.2.无监 ...
- R语言基础入门之二:数据导入和描述统计
by 写长城的诗 • October 30, 2011 • Comments Off This post was kindly contributed by 数据科学与R语言 - go there t ...
- R语言学习笔记(二)
今天主要学习了两个统计学的基本概念:峰度和偏度,并且用R语言来描述. > vars<-c("mpg","hp","wt") &g ...
- R语言实战读书笔记(二)创建数据集
2.2.2 矩阵 matrix(vector,nrow,ncol,byrow,dimnames,char_vector_rownames,char_vector_colnames) 其中: byrow ...
- R语言学习笔记(二十一五):如何如何提升R语言运算的性能以及速度
在R中获得快速运行代码的方法 使用向量化运算 R语言的并行计算可以用parallel和foreach包 加快R运行速度还可以使用cmpfun()函数即字节码编译器 再者就是在R中调用C或C++ 同时还 ...
- R语言高性能编程(二)
接着上一篇 一.减少内存使用的简单方法1.重用对象而不多占用内存 y <- x 是指新变量y指向包含X的那个内存块,只有当y被修改时才会复制到新的内存块,一般来说只要向量没有被其他对象引用,就可 ...
- R语言统计词频 画词云
原始数据: 程序: #统计词频 library(wordcloud) # F:/master2017/ch4/weibo170.cut.txt text <- readLines("F ...
- R语言学习笔记(二): 类与泛型函数
类 大多数R对象都是基于S3类(来源于第三代S语言),例如直方图函数hist()输出是一个包含多个组件的列表,它还有一个属性(attribute),用来指定列表的类,即histogram类. 泛型函数 ...
- C语言统计一个字符串中单词的个数
假定每一个单词用空格隔开. 样例: 输入:how are you! 输出:3 两种方法: 一: #include <stdio.h> #include <string.h> # ...
随机推荐
- js 中文长字符截短&关键字符隐藏 自定义过滤器
两个非常简单的过滤器:隐藏关键字符和字符截短.同样也可以迁移到ng和原生js直接使用(去掉avalon.filters声明即可).后期还有不错的过滤器,还往这里面加 keyword:avalon,js ...
- SQL Server 索引知识-结构,实现
索引的作用毋庸置疑,但他是如何组织,并实现提高语句访问效率的呢?本篇文章为大家做个详细的介绍. 聚集索引架构 B-tree 如图1-1 a.B-tree的结构,叶子节点为数据.数据按照聚集索引键有序排 ...
- HBase Scan流程分析
HBase Scan流程分析 HBase的读流程目前看来比较复杂,主要由于: HBase的表数据分为多个层次,HRegion->HStore->[HFile,HFile,...,MemSt ...
- Vue2学习笔记:键盘事件
Vue2键盘事件:keydown/keyup... 1.使用 <!DOCTYPE html> <html> <head> <title></tit ...
- iOS设计模式 - 代理
iOS设计模式 - 代理 原理图 说明 1. 代理模式大家都用过,但用抽象基类NSProxy实现代理估计鲜有人用 2. 本人用NSProxy实现了代理模式,对于理解消息转发机制有点帮助 源码 http ...
- UNIX高级环境编程(9)进程控制(Process Control)- fork,vfork,僵尸进程,wait和waitpid
本章包含内容有: 创建新进程 程序执行(program execution) 进程终止(process termination) 进程的各种ID 1 进程标识符(Process Identifie ...
- jquery ajax跨域解决
双十一开发了一个抽奖API,最近上线了,各个事业部的大神们需要前台页面,异步调用我的抽奖API,要我提供js. js 提供之后发现不对,跨域了.之前也碰到过跨域的问题,研究过这个问题,三种方法解决. ...
- 对于socket发送数据时是否要加锁及write read的阻塞非阻塞
偶尔讨论到了socket发送数据时是否应该加锁的问题,就在网上查了一下,下面是大神陈硕的答案 对于 UDP,多线程读写同一个 socket 不用加锁,不过更好的做法是每个线程有自己的 socket,避 ...
- Java虚拟机15:运行期优化
前言 HotSpot采用的是解释器+编译器并存的架构,之前的这篇文章里面已经讲过了,本文只是把即时编译器这块再讲得具体一点而已.当然,其实本文的内容也没多大意义,90%都是概念上的东西,对于实际开发. ...
- 看懂shebang吧,只需一点点shell知识,从此再也不犯强迫症
Python2: 开启一个terminal,输入下面命令: yshuangj@ubuntu:~$ vim helloA.py 在vim编辑器中,进入编辑模式(按i),输入下面的代码,然后退出编辑模式( ...