R语言函数总结(转)】的更多相关文章

R语言函数化学习笔记 1.apply函数 可以让list或者vector的元素依次执行一遍调用的函数,输出的结果是list格式 2.sapply函数 原理和list一样,但是输出的结果是一个向量的形式 3.vapply 这个函数输出的结果更加详细,但是函数使用的时候需要多写一个几个参数来控制 Use vapply Before you get your hands dirty with the third and last apply function that you'll learn abo…
R语言函数化学习笔记3 R语言常用的一些命令函数 1.getwd()查看当前R的工作目录 2.setwd()修改当前工作目录 3.str()可以输出指定对象的结构(类型,位置等),同理还有class():返回对象的类型和typeof():返回对象的低级内部类型 4. install.packages("包名"),github上面也可以下载,好像是用devtools这个包,先加载哈 5. update.packages("包名") 更新包 6.library(包)使用…
R语言函数化编程笔记2 我学过很多的编程语言,可以我写的代码很啰嗦,一定是我太懒了.或许是基础不牢地动山摇 1.为什么要学函数 函数可以简化编程语言,减少重复代码或者说面向对象的作用 2.函数 2.1创建函数 例如创建一个简单的求和函数 su<-function(x,y){ x+y } 2.2 调用函数 su(2,3) ##5 简单的调用函数 函数名(参数赋值) 2.3 泛化函数 就是使编写的一个函数更加通用 可以处理各种运算 calc<-function(x,y,type){ if (typ…
R语言函数化编程笔记1 notes:有一个不错的网站叫做stack overflow,有问题可以从上面找或者搜索答案,会有大佬相助. 在github上面可以找到很多R的扩展包,如果自己额修改被接受,那么就会成为该包的贡献者.. R的编辑器 一般会在Rstudio中编写一个脚本文件来执行多行代码,可以编写R脚本,Rmarkdown文档,网页等,或者C++源代码 常用快捷键 ctrl+enter组合键运行选中命令 ctrl+shift+S组合键执行当前文档,也就是依次执行当前文档中的所有表达式 Ta…
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 后续加更内容: 应用一:if族有哪些成员呢?--if/ifelse/stopifnot 应用二:如何在循环中,实时输出时间消耗? ------------------------------------ 1.循环 ##循环for iris allzl=unique(iris$setosa) for (i in 1:2){ pp=iris[iri…
R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字符不允许是数字. 基本命令要么是表达式(expressions)要么就是 赋值(assignments). 命令可以被 (;)隔开,或者另起一行. 基本命令可以通过大括弧({和}) 放在一起构成一个复合表达式(compound expression). 一行中,从井号(#)开始到句子收尾之间的语句就是是注释. R是动态类型.强类型的语…
R语言实际上是函数的集合,用户可以使用base,stats等包中的基本函数,也可以自己编写函数完成一定的功能.但是初学者往往认为编写R函数十分困难,或者难以理解.这里对如何编写R函数进行简要的介绍. 函数是对一些程序语句的封装.换句话说,编写函数,可以减少人们对重复代码书写,从而让R脚本程序更为简洁,高效.同时也增加了可读性.一个函数往往完成一项特定的功能.例如,求标准差sd,求平均值,求生物多样性指数等.R数据分析,就是依靠调用各种函数来完成的.但是编写函数也不是轻而易举就能完成的,需要首先经…
函数是一个组织在一起的一组以执行特定任务的语句.R语言有大量的内置函数,用户也可以创建自己的函数. 在R语言中的函数是一个对象,所以R语言解释器为能够通过控制到该函数,带有参数可能是函数必要完成的操作. 反过来函数执行其任务,并将控制返回到其可以被存储在其它的目的解释器以及任何结果. 函数定义 R函数是通过使用关键字 function 来创建.R函数的定义基本语法如下: function_name <- function(arg_1, arg_2, ...) { Function body }…
R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字符不允许是数字. 基本命令要么是表达式(expressions)要么就是 赋值(assignments). 命令可以被 (;)隔开,或者另起一行. 基本命令可以通过大括弧({和}) 放在一起构成一个复合表达式(compound expression). 一行中,从井号(#)开始到句子收尾之间的语句就…
原博: R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字符不允许是数字. 基本命令要么是表达式(expressions)要么就是 赋值(assignments). 命令可以被 (;)隔开,或者另起一行. 基本命令可以通过大括弧({和}) 放在一起构成一个复合表达式(compound expression). 一行中,从井号(#)开始到句子收尾之间…
条件语句和循环语句 当你说话时候用到了如果,此时条件出现了 举个条件函数的例子 sign_t<-function(x){ if(x>0){ return(1) }else if(x<0){ return(-1) }else{ return(0) } } sign_t(5) #[1] 1 这是简单问题,复杂的问题,不行就把需求写下来,计算机语言不过就是傻瓜式的执行你要做的事情,本来是用来减少重复操作的,语言都一样,星星你要加油喽,把之前没学过的补回来 泛化的结构 if (condition…
讲真,用R这么几年,始终未尝试过写自己的包,看来这就是我与真正程序员的差距了——编程习惯等于没有. 昨天一个偶然的机会想开始写自己的工具包,发现了前期教程的有一些过时.于是,写一个**windows**下新的简易版参考,以备不时之需.内容基本来源为男神Hadley Wickham的Advanced R programming一书. PS:通过以下教程写出来的包还不能放到CRAN上,仅方便自己的代码移植:如果你想让自己的function在CRAN扬名立万,还需要做很多其他的工作. 那些年需要做的准…
使用Tidyverse完成函数化编程 (参考了家翔学长的笔记) 1.magrittr包的使用 里面有很多的管道函数,,可以减少代码开发时间,提高代码可读性和维护性 1.1 四种pipeline 1.1.1 常用的:%>% 最通俗的嵌套,向右嵌套 6 例子:要求 取10000个随机数符合正态分布 求10000个的数的绝对值,同时乘上50 把结果组成一盒100*100列的方阵 4.计算方阵中每行的均值,并四舍五入保留整数 5.把结果除以7求余数,并画出余数的直方图 library(tseries)…
#split根据因子或因子列表将 向量或其他对象分组 #通常与lapply一起使用 #split(参数):split(向量/列表/数据框,因子/因子列表) > x <- c(rnorm(5),runif(5),rnorm(5,1)) > x [1] 0.61008707 0.81746169 -1.09859969 -1.78134612 -1.94262725 0.99760581 [7] 0.37793960 0.05258653 0.38525197 0.46051864 -0.6…
#对向量的子集进行操作 #tapply(参数):tapply(向量,因子/因子列表,函数/函数名) > x <- c(rnorm(5),runif(5),rnorm(5,1)) > f <- gl(3,5) > f [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 Levels: 1 2 3 > tapply(x,f,mean) 1 2 3 -0.5004154 0.4044779 0.9769996 > tapply(x,f,mean,simp…
#mapply(函数/函数名,数据,函数相关的函数) > list(rep(1,4),rep(2,3),rep(3,2),rep(4,1)) [[1]] [1] 1 1 1 1 [[2]] [1] 2 2 2 [[3]] [1] 3 3 [[4]] [1] 4 > mapply(rep,1:4,4:1) [[1]] [1] 1 1 1 1 [[2]] [1] 2 2 2 [[3]] [1] 3 3 [[4]] [1] 4 > s <- function(n,mean,std){ +…
#apply函数,沿着数组的某一维度处理数据 #例如将函数用于矩阵的行或列 #与for/while循环的效率相似,但只用一句话可以完成 #apply(参数):apply(数组,维度,函数/函数名) > x <- matrix(1:16,4,4) > x [,1] [,2] [,3] [,4] [1,] 1 5 9 13 [2,] 2 6 10 14 [3,] 3 7 11 15 [4,] 4 8 12 16 > apply(x,2,mean) #沿着x的第二维度求平均,x有两个维度…
#lapply函数 #可以循环处理列表中的每一个元素 #lapply(参数):lapply(列表,函数/函数名,其他参数) #总是返回一个列表 #sapply:简化结果 #结果列表元素长度均为1,返回向量 #结果列表元素长度相同且大于1,返回矩阵 > str(lapply) function (X, FUN, ...) > ?str > x <- list(a=1:10,b=c(11,21,31,41,51)) > x $`a` [1] 1 2 3 4 5 6 7 8 9 1…
#sort:对向量进行排序;返回排好序的内容 #order:返回排好序的内容的下标/多个排序标准 > x <- data.frame(v1=1:5,v2=c(10,7,9,6,8),v3=11:15,v4=c(1,1,2,2,1)) > sort(x$v2) [1] 6 7 8 9 10 > sort(x$v2,decreasing = TRUE) [1] 10 9 8 7 6 > order(x$v2) [1] 4 2 5 3 1 > x[order(x$v2),]…
1. 首先就是plot(x,y,...) 参数: x: 所绘图形横坐标构成的对象 y: 所绘图形纵坐标构成的对象 type: 指定所绘图形类型 pch: 指定绘制点时使用的符号 cex: 指定符号的大小.cex是一个数值,表示绘图符号相对于默认大小的缩放倍数. 默认大小为1, 1.5表示放大为默认值的1.5倍, 0.5表示缩小为默认值的50%等. cex.axis: 坐标轴刻度文字的缩放倍数. 类似于cex cex.lab: 坐标轴标签(名称)的缩放倍数,类似于cex cex.main: 标题的…