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语言常用数据管理的更多相关文章

  1. 【R】R语言常用函数

    R语言常用函数 基本 一.数据管理vector:向量 numeric:数值型向量 logical:逻辑型向量character:字符型向量 list:列表 data.frame:数据框c:连接为向量或 ...

  2. R语言常用的矩阵操作

    R语言是一门非常方便的数据分析语言,它内置了许多处理矩阵的方法.下面列出一些常用的矩阵操作方法示例. 矩阵的生成 > mat <- matrix(:, ncol = , nrow = , ...

  3. R语言常用函数:交集intersect、并集union、找不同setdiff、判断相同setequal

    在R语言进行数据分析时,经常需要找不同组间的相同和不同,那你应该掌握如下几个函数,让你事半功倍. 交集intersect两个向量的交集,集合可以是数字.字符串等 # 两个数值向量取交集intersec ...

  4. R语言︱常用统计方法包+机器学习包(名称、简介)

    一.一些函数包大汇总 转载于:http://www.dataguru.cn/thread-116761-1-1.html 时间上有点过期,下面的资料供大家参考基本的R包已经实现了传统多元统计的很多功能 ...

  5. R语言常用操作

    1 取整运算 在编程实现的时候有时会碰到对数值取整的需求,而取整的方式却多种多样,依赖于具体问题,不过在R中已经配备了种类齐全的相关函数,主要包括以下五种: floor():向下取整: ceiling ...

  6. R语言常用包分类总结

    常用包: ——数据处理:lubridata ,plyr ,reshape2,stringr,formatR,mcmc: ——机器学习:nnet,rpart,tree,party,lars,boost, ...

  7. R语言常用命令集合

    help.start()//打开帮助文档 q()//推出函数 ls()//返回处于现在名空间的对象名称 rm()//清楚对象:rm(list=ls())清除所有内存数据 gc()//垃圾回收数据 sq ...

  8. R语言常用包汇总

    转载于:https://blog.csdn.net/sinat_26917383/article/details/50651464?locationNum=2&fps=1 一.一些函数包大汇总 ...

  9. R语言常用数学函数

    语言的数学运算和一些简单的函数整理如下: 向量可以进行那些常规的算术运算,不同长度的向量可以相加,这种情况下最短的向量将被循环使用.   > x <- 1:4 > a <- 1 ...

随机推荐

  1. Python---协程---重写多线程

    一. # 用协程的方式,修改播放电影和音乐的练习题 # 用协程的方式完成播放 movie_list = ["斗破.mp4", "复仇者联盟.avi", &quo ...

  2. SpringCloud学习系列-构建部门微服务消费者Module

    1.新建microservicecloud-consumer-dept-80 2.Pom <project xmlns="http://maven.apache.org/POM/4.0 ...

  3. 【leetcode】1138. Alphabet Board Path

    题目如下: On an alphabet board, we start at position (0, 0), corresponding to character board[0][0]. Her ...

  4. linux运维、架构之路-redis

    一.redis介绍 Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序. Redis属于非关系型数据库和Memcached类似,redis也是一个key- ...

  5. CSS元素居中汇总

    总结实现不同类型元素居中的几种方法: 一.把margin值设置为auto(实现水平居中) 可以实现元素水平居中对齐 原理:使  margin-left=margin-right  如果设置  marg ...

  6. ndn挖坑记(一)

    目录 NDN是什么(简单记录) ndnSIM的安装 编译运行的错误记录 NDN是什么(简单记录) NDN是命名数据网络的缩写,简单来是说以数据命名取代IP 的主体地位,数据名称取代了IP 作为网络中的 ...

  7. Acvitivi网关(十一)

    1排他网关 1.1 什么是排他网关 排他网关(也叫异或(XOR)网关,或叫基于数据的排他网关),用来在流程中实现决策. 当流程执行到这个网关,所有分支都会判断条件是否为 true,如果为 true 则 ...

  8. 【PowerOJ1738&网络流24题】最小路径覆盖问题 (最大流)

    题意: 思路: [问题分析] 有向无环图最小路径覆盖,可以转化成二分图最大匹配问题,从而用最大流解决. [建模方法] 构造二分图,把原图每个顶点i拆分成二分图X,Y集合中的两个顶点Xi和Yi.对于原图 ...

  9. AC自动机2

    AC自动机 给N个模式串,求文本串中出现次数最多的模式串出现次数. #include<bits/stdc++.h> using namespace std; #define maxn 10 ...

  10. Amaze ui tree 刷新数据

    最近在做代码生成器,界面用的是Amaze ui ,但是在用tree的时候发现数据绑定不会自动更新,去百度.谷歌查也没有查到,没办法只能自己做一个demo 在这贴上效果图 demo 下载地址https: ...