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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

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