2019-07-25

R中常见函数

1、对行和列进行操作的函数:

•对矩阵或数据框的行和列调用函数:apply(矩阵/数组,1,function),apply(矩阵/数组,2,function),1:按每一行,2:按每一列

•rbind(), cbind()按行或列把矩阵或数据框合并

•merge()合并数据框(按照共有变量)

•nrow()和ncol()分别查看矩阵或数据框的行和列数

•rowname()和colname()分别给矩阵或数据框的行和列命名

•rowsum(x) colsum(x)矩阵格式对象行/列加和,rowSums(x),colSums(x) 是一个更快的版本

•rowMeans(x),colMeans(x)行/列平均

•transform(data,...)为原数据框添加新的列,改变原变量列的值,通过赋值NULL删除列变量。只用于数据框,within(data,{  })与之用法相似,不过可以除数据框之外的对象,同时需要有{}

2、一些查看函数:

•length()查看对象长度(数据框时是列数)

•nchar()查看字符串包含的字符数量

•which()查看元素所在的位置

•which(x==a)如果比较操作为真(TRUE),返回向量x的索引

•class()  精细度:typeof>mode>class

•mode()

•typeof()

•dim()查看矩阵或数据框的维数

•nrow()和ncol()分别查看矩阵或数据框的行和列数

•ls()或objects()查看当前工作空间中所有对象的名称

•ls.str()查看当前工作空间中所有对象的名称和一些其他信息

•attributes(d)查看对象属性

•str(d)查看对象的内部结构

•summary()查看对象的统计摘要

•library()查看已经安装在计算机里的R包

•installed.packages()查看更多R包的细节信息,installed.packages()[,c("Package","Version")]

•path.package()查看当前加载了哪些包

•help(package=mvtnorm)查看包的所有函数

•is.na()查看缺失值是否存在

•unique(x)查看对象里有多少个唯一值

3、一些高效的函数:

•subset(数据框,subset=条件,select=选择的列),subset(leadership, age >= 35 | age < 24,select=c(q1, q2, q3, q4))

•apply(x, MARGIN, FUN, ...)) 将函数应用于矩阵和数据框

•sort()对向量进行排序

•order()得到排序后的值在原向量中的索引,向量前加负号,降序排列

•rank()返回向量中每一个元素的排序位置

•attach(),detach()

•with(数据框,{语句}),within()

•rev(x) 翻转/反向x中的所有元素

append()Merge vectors or lists

unlist():将list结构的数据,变成非list的数据,即将list数据变成字符串向量或者数字向量的形式

4、容易忘记的函数:

•all()

•any()

•ifelse(b,u,v)

•name()给向量中的元素命名

•t()矩阵转置函数

•union,intersect,setdiff(x,y)求x和y的并集,交集,差集

•choose(n,k)从含有n个元素的集合中选取含有k个元素的子集的数目

•c%in%y:检验集合c是否为集合y中的元素,返回T或F

•setequal(x,y)检验集合x和y是否相等

•combn()用于产生集合元素的组合

•颜色函数rainbow(),heat.colors(),terrain.colors(),topo.colors(),cm.colors()

•fix(x),edit(x)调出编辑器

•as.numeric(),as.character(),as.matrix(),as.data.frame(),as.factor(),as.logical()类型转换函数,可将函数转变为as.后面的类型

(对应类型判断函数is.numeric()...,可判断函数是否属于is.后面的类型)

•options(digits=2)限定了输出小数点后数字的位数

•data(Cars93,package="MASS")不加载包直接调用包中的数据集

•stack(list(v1,v2,...))将列表合并为一个两列的数据框,unstack()是其逆过程

•na.omit(dfrm)移除包含NA值的行

•data(x) 加载指定的数组

•x[x %in% c("a","and","the")]给定组中的元素

5、一些重要的方法:

•对象的条件筛选: dafrm[条件], subset(x,x>5),适用于向量,矩阵,

•d[order(d$ages)]对数据框按某一列进行排序

•windows()在保持现有图形的基础上新增一个绘图窗口

•paste("q", 1:5, sep="")连接字符串

•rm(x)永久从工作空间删除对象

•?Normal 获得关于概率分布的帮助

•sort(x)升序,rev(sort(x))/sort(x,decreasing=TRUE)降序

•cut(x,breaks) 把x分割成几段(或因子)breaks为段数或分割点向量

6、包相关函数:

•path.package()查看当前加载了哪些包

•install.packas("mvtnorm","/a/b")包的安装目录

•libPaths("/a/b")寻找包的路径

•help(package=mvtnorm),library(help=mvtnorm)列出包的所有函数

•library()查看已经安装在计算机里的R包

•installed.packages()查看更多R包的细节信息,installed.packages()[,c("Package","Version")]

•citation('ggplot2')引用包

•help.search("topic")搜索帮助系统

•apropos("topic") 在所有被载入内存的包中找到所有名字含有指定字符串的函数

•help.start() 启动R的HTML形式的帮助

•help("bs", try.all.packages = TRUE)默认状态下,函数help只会在被载入内存中的包中搜索,选项try.all.package在缺省值是FALSE,但如果把它设为TRUE,则可在所有包中进行搜索。

7、一些隐含默认参数的设置:

•na.rm=T 在函数中计算时,自动移除NA值

•data.fram(,...stringsAsFactor=F) 把字符数据当做向量,而不是因子

•mat(2:5,2,drop=F),可以得到一个一列的数据框

•merge(...,by.x=  ,by.y=  )合并数据框时,用于标示出两个数据框里含有相同信息,但名称不同的两个变量.

•factor(data,ordered=T,levels=c()) ordered指定为有序变量,levels指定

•help("bs", try.all.packages = TRUE)默认状态下,函数help只会在被载入内存中的包中搜索,选项try.all.package在缺省值是FALSE,但如果把它设为TRUE,则可在所有包中进行搜索。

•ls()中设定选项pattern(简写为pat)显示名称中带有某个指定字符的对象,如ls(pat=”m”)显示名称中以某个字母开头的对象ls(pat=”^m”)

•axes=TRUE绘图时不画出坐标轴和方格

8、画图函数:

•plot(x)在x轴上整齐地绘制x值

•opar=par(...) ...par(opar)还原设置

•lines()

•curve()绘制函数曲线

•abline()添加线条:abline(a,b)以截距为a斜率为b的斜线;

•abline(h=y),abline(v=x)水平或垂直线

•rect(a,b,c,d)作出四边形

•points()添加点

•legend()添加图例

•text()添加文字

•axis(side, at)添加坐标轴

•polygon()添加多边形

•locator()精确定位

•lowess(),loess()平滑散点

•pretty(x, n) 创建美观的分割点。通过选取n+1 个等间距的取整值,将一个连续型变量x分割为n 个区间。绘图中常用

•segments(x0, y0, x1, y1)直线连接点(x0,y0)和x1,y1)

•arrows(x0, y0, x1, y1)同上,画出箭头线

•rug(x)在x轴上用短线画出数据x的位置

•locator()返回鼠标点击点的坐标

9、常用数学函数:

•min(),max()

•median(x) 中位数

•sd(x) 标准差

•var(x) 方差

•which.min(),which.max()

•sum,prod()求和,求积

•round(),floor(),ceiling()四舍五入取整、向下取整和向上取;trunc(x) 向0 的方向截取的x 中的整数部分

•signif(x, digits=n) 将x 舍入为指定的有效数字位数

•exp(),log(x,base=n),log(),log10()

•sqrt()

•abs()求绝对值,将向量的值变为数值

•sin(),cos()

•pmin(),pmax()逐个元素对比等长度的多个向量,返回最小、大值

•cumsum(),cumprod()累计求和,求积

•统计分布函数d-,p-,q-,r-分布函数

•d对应概率密度函数

•p对应累计分布函数

•q对应分布的分位数

•r对应生成随机数函数(rnorm,runif)  runif(1,min=3,max=3)

•sample(x,n,replace=F)从数据集中(有放回或无放回地)抽取大小为n的一个随机样本

•quantile(x,probs) 求分位数

•weighted.mean(x, w)加权平均,对向量求平均,所以格式c()

•range(x) 求值域,返回c(min(x), max(x))

•scale(x,center=TRUE,scale=TRUE)为数据对象x 按列进行中心化(center=TRUE)或标准化(center=TRUE,scale=TRUE)

•choose(n,k),comb(items,k)计算从n项中选取k个的组合数目,生产组合

seq(from,to,length)生成一组数字,从from开始,到to结束,每两个数间的间隔是length

rep(x, time = , each = ,length = , )

如:> rep(1:4, times = 2)  [1] 1 2 3 4 1 2 3 4 / > rep(1:4, each = 2) [1] 1 1 2 2 3 3 4 4 / > rep(1:4, each = 2, len = 10) [1] 1 1 2 2 3 3 4 4 1 1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,133评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,682评论 3 390
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,784评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,508评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,603评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,607评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,604评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,359评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,805评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,121评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,280评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,959评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,588评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,206评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,193评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,144评论 2 352

推荐阅读更多精彩内容

  • 四、NA、Inf、NaN、NULL 特殊值(https://zhuanlan.zhihu.com/p/470299...
    苹果皮好多皮阅读 404评论 0 0
  • 分支结构 python中的分支结构只有if语句。 (1)结构1:满足某个条件才执行某段代码 语法if 条件语句:代...
    容荔阅读 203评论 0 0
  • 今天是E站到底特训营的第十五天,学习了《查找函数》。 1.基本用法 =VLOOKUP(查找的值,被查找的区域,返回...
    木槿ta阅读 193评论 0 1
  • 前几次画图,都是在excel中手动粘贴复制,因为数据量比较小,倒也能接受。但是,昨天数据量稍微大些,手动粘贴后再读...
    森尼啊阅读 441评论 0 0
  • 8期21天E站到底第15天打卡 查找函数Vlookup、Hlookup、Index、Match 一.基本用法:Vl...
    幽兰_87ab阅读 239评论 0 0