R语言常用数据管理
1、变量的重命名
(1)交互式编辑器修改变量名
若要修改数据集x中的变量名,键入fix(x)即可打开交互式编辑器的界面。若数据集为矩阵或数据框,单击交互式编辑器界面中对应要修改的变量名,可手动输入新的变量名;若数据集为列表,则交互式编辑界面为一个记事本,只要修改“.Names”之后对应的变量名,即可修改变量名。
(2)rename()函数修改变量名
可用于修改数据框和列表的变量名,但不能用于修改矩阵的变量名 格式:dataframe<-rename(dataframe,c(oldname="newname",...))
library(reshape)
rename(score,c(pl="Chinese"))
rename(score.list,c(pl="chinese))
(3)names()函数修改变量名
可用于修改数据框和列表的变量名,但不能用于修改矩阵的变量名 格式:names()<-value
names(score)[5]="chinese"
(4)colnames()函数和rownames()函数修改变量名
R中用于修改矩阵行名和列名的函数,也可用于修改数据框的行数和列数 格式:colnames(x)<-value rownames(x)<-value
rownames(score)<-letters[1:4]
2、缺失值分析
is.na(x)——返回一个与x等长的逻辑变量
anyNA(x,recursive=FALSE)——判断数据中是否存在缺失值 ,若存在就返回TRUE
na.omit(x)——删除含有缺失值的观测
complete.cases(x)——返回一个逻辑向量,不存在缺失值的行为值为TRUE
3、数据排序
(1)sort ——对向量进行排序,返回排序后的向量
格式:sort(x,na.last=NA,decreasing=FALSE)
sort(score$math)
(2)rank——返回向量中每个数值对应的秩
格式:rank(x,na.last=TRUE,ties.method=c("average","first","random","max","min"))
x<-c(3,4,2,5,5,3,8,9)
rank(x,ties.method="first")
(3)order——对数据进行排序
格式:order(x,na.last=TRUE,decreasing=FALSE)
data_frame[order(data_frame$v2,data_frame$v2,)]
4、随机抽样
(1)srswr()——放回简单随机抽样
格式:srswr(n,N)——表示在总体N中有放回的抽取n个样本,返回一个长度为N的向量,每个向量的值表示抽取的次数
library(sampling)
s<-srswr(10,26)
(2)srswor()——不放回简单随机抽样 格式:srswor()——表示在总体N中有放回的抽取n个样本,返回一个长度为N的向量,每个向量的值表示抽取的次数library(sampling)
s<-srswor(10,26)
(3)sample()——实现放回简单抽样和不放回简单随机抽样,也可对数据进行随机分组 格式:sample(x, size,replace=FALSE,prob=NULL)——随机抽取x中的数,size为抽取样本数,replace=FALSE为不放回简单随机抽样,prob为权重分量 sample(LETTERS,5,prob=c(0.7,0.3),replace=TRUE) 5、数值运算函数 (1)数学函数 abs(x)、sqrt(x)、ceiling(x) (2)统计函数 mean(x)、median(x)、sd(x)、var(x)、quantile(x,probs)、range(x)、sum(x)、min(x)、max(x)、scale(x,center=TRUE,scale=FALSE)、diff(x,lag=n) difftime(time1,time2,units=c("auto","secs","mins","hours","days","weeks")) (3)概率函数 6、字符串函数 (1)grep()——字符串查询,返回结果为匹配项的下标 格式:grep(pattern,x,ignore.case=FALSE,perl=FALSE,value=FALSE,fixed=FALSE,useBytes=FALSE,invert=FALSE) txt=c("whatever" ,"is","worth","doing","is","worth","doing","well") grep("e.*r|wo",txt,fixed=FALSE) #返回一个 逻辑向量 grepl("e.*r|wo",txt,fixed=FALSE) #gregexpr()函数 返回一个列表,结果包括匹配项的起始位置及匹配项长度 grepl("e.*r|wo",txt) (2)sub()——对第一个满足条件的匹配做替换 格式:sub(pattern,replacement,x,ignore.case=FALSE,fixed=FALSE) txt=c("whatever" ,"is","worth","doing","is","worth","doing","well") sub("[tr]","k",txt) (3)gsub()——把所有满足条件的匹配都做替换 格式:gsub(pattern,replacement,x,ignore.case=FALSE,fixed=FALSE) txt=c("whatever" ,"is","worth","doing","is","worth","doing","well") gsub("[tr]","k",txt) (4)strsplit()——字符串拆分 格式:strsplit(x,split,fixed=FALSE,perl=FALSE,useBytes=FALSE) data<-c("2017年1月1日","2018年1月1日") strsplit(data,"年") (5)paste()——字符串连接 格式:paste(...,sep="",collapse=NULL) paste("AB",1:5,sep="") 7、文本分词 (1)RWordseg包 常用文本分词函数:insertWords(x,save=TRUE)——向词库中导入新词汇,save=TRUE时,表示把操作记录下来,下回启动能直接用 deleteWords(x)——从词库中删除词汇 getOption("isNameRecognition")——查看人名识别功能的状态 segment.options("isNameRecognition"=TRUE)——设置人名识别功能的状态 listDict()——查看词典 installDict()——添加用户自定义的词典 uninstallDict()——卸载用户自定义的词典 segmentCN()——中文分词 (2)jiebaR包 分词: worker()函数初始化分词引擎 worker(type="mix",dict=DICTPATH,hmm=HMMPATH,user=USERPATH,idf=IDFPATH,stop_word=STOPPATH,write=T,qmax=20,encoding="UTF-8",detect=T,symbol=F,lines=le+0.5.output=NULL,bylines=F) 初始化分词引擎后,使用分词运算符“<=”或者segment()函数进行分词。 segment(code,jiebar,mod=NULL) library(jiebaR) mixseg=worker() #默认mix分词引擎 mpseg=worker(type="mp") #mp分词引擎 hmmseg=worker(type="hmm") #hmm分词引擎word="人们都说桂林山水甲天下"
mixseg<=word
mpseg<=word
hmmseg<=word
segment(word,mixseg)
词性标注:
可以使用<=.tagger或者tag来进行分词和词性标注
关键词提取和Simhash计算:需要将worker()中的type参数设置为“keywords”或“Simhash”,并使用topn参数设置关键词个数
keys<=worker("keywords",topn=1)
keys<=word
8、apply函数族
(1)apply()——对数组或者矩阵的一个维度使用函数生成列表、数组、或者向量
格式:apply(x,MARGIN,FUN,...) MARGIN=1表示矩阵行 MARGIN=2表示矩阵列
x<-matrix(1:20,ncol=4)
x
apply(x,1,mean)
(2)lapply()——对x的每一个元素运用函数,生成一个与元素个数相同的值列表
格式:lapply(x,FUN,...)
(3)sapply()——对x的每一个元素运用函数,生成一个与元素个数相同的值列表
格式:sapply(x,FUN,..,simplify=TRUE,USE.NAMES=TRUE)
(4)tapply()——对不规则阵列使用向量,即对一组非空值按照一组确定因子进行相应计算
格式:tapply(x,INDEX,FUN,...simplify=TRUE)
height<-c(174,165,189,180,165)
sex<-c("M","F","M","M","F")
tapply(height,sex,mean)
(5)mapply()
9、数据整合
(1)数据汇总统计
aggregate(x,by,FUN)
(2)数据融合
melt(data,varnames,value.name="value",na.rm=FALSE)
(3)数据重塑
cast(data,formula,fun.aggregate=NULL,...)
10、控制流
(1)if/else语句
if(condition) {expr1} else{expr2}
(2)switch语句
switch(expression,list)
(3)循环语句
for(name in expr1) {expr2}
while(cond) {expr}
repeat expr 或repeat{if(cond) {break}}
11、函数的编写
myfunction<-function(arglist){
statements
return (object)
}
R语言常用数据管理的更多相关文章
- 【R】R语言常用函数
R语言常用函数 基本 一.数据管理vector:向量 numeric:数值型向量 logical:逻辑型向量character:字符型向量 list:列表 data.frame:数据框c:连接为向量或 ...
- R语言常用的矩阵操作
R语言是一门非常方便的数据分析语言,它内置了许多处理矩阵的方法.下面列出一些常用的矩阵操作方法示例. 矩阵的生成 > mat <- matrix(:, ncol = , nrow = , ...
- R语言常用函数:交集intersect、并集union、找不同setdiff、判断相同setequal
在R语言进行数据分析时,经常需要找不同组间的相同和不同,那你应该掌握如下几个函数,让你事半功倍. 交集intersect两个向量的交集,集合可以是数字.字符串等 # 两个数值向量取交集intersec ...
- R语言︱常用统计方法包+机器学习包(名称、简介)
一.一些函数包大汇总 转载于:http://www.dataguru.cn/thread-116761-1-1.html 时间上有点过期,下面的资料供大家参考基本的R包已经实现了传统多元统计的很多功能 ...
- R语言常用操作
1 取整运算 在编程实现的时候有时会碰到对数值取整的需求,而取整的方式却多种多样,依赖于具体问题,不过在R中已经配备了种类齐全的相关函数,主要包括以下五种: floor():向下取整: ceiling ...
- R语言常用包分类总结
常用包: ——数据处理:lubridata ,plyr ,reshape2,stringr,formatR,mcmc: ——机器学习:nnet,rpart,tree,party,lars,boost, ...
- R语言常用命令集合
help.start()//打开帮助文档 q()//推出函数 ls()//返回处于现在名空间的对象名称 rm()//清楚对象:rm(list=ls())清除所有内存数据 gc()//垃圾回收数据 sq ...
- R语言常用包汇总
转载于:https://blog.csdn.net/sinat_26917383/article/details/50651464?locationNum=2&fps=1 一.一些函数包大汇总 ...
- R语言常用数学函数
语言的数学运算和一些简单的函数整理如下: 向量可以进行那些常规的算术运算,不同长度的向量可以相加,这种情况下最短的向量将被循环使用. > x <- 1:4 > a <- 1 ...
随机推荐
- v-if 和 v-show
关于条件渲染 所谓条件渲染,就是根据不同的条件,使用不同的模板来生成 html. 在 Vue.js 中,使用 v-if 和 v-show 指令来控制条件渲染. 区别 v-show 会在app初始化的时 ...
- Delphi 2010 secondsBetween Bug
在设置定时任务时,无意之间发现一个BUG, 定时在00:10:00的任务,执行了2次, 百思不得其解, 一调试发现, 00:10:00,00:09:59的secondsBetween结果值是0, 正确 ...
- 判断Java对象存活的算法、垃圾回收算法
判断Java对象存活的算法 一.引用计数算法 给对象添加一个引用计数器,每当一个地方引用它的时候就将计数器加1,当引用失效的时候就将计数器减1,任何时刻计数器为0的对象都不可再被使用.这种算法虽然简单 ...
- codevs 3060 抓住那头奶牛 x
3060 抓住那头奶牛 USACO 时间限制: 1 s 空间限制: 16000 KB 题目等级 : 黄金 Gold 题目描述 Description 农夫约翰被告知一头逃跑奶牛的位置,想要立 ...
- [HTML]时钟
<div class="clock" id="clock"> <!-- 原点 --> <div class="origi ...
- Minimum Cut
Minimum Cut Time Limit: 3000/2000 MS (Java/Others) Memory Limit: 65535/102400 K (Java/Others)Tota ...
- uva live 7637 Balanced String (贪心)
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...
- onchange and oninput
https://www.w3schools.com/jsref/event_oninput.asp Supported HTML tags: <input type="color&qu ...
- db2查看当前用户模式及当前用户的权限
1.连接数据库:db2 connect to appdb 2.查询当前用户模式:select current schema from sysibm.sysdummy1 或 select current ...
- windows10下基于docker的bvlc/caffe环境搭建与使用
docker 安装参见docker官网,当cmd出现以下图像时安装正确; 然后进行bvlc/caffe环境创建,有两种,一种是直接pull github的bvlc,一种是本地创建image,直接使用g ...