添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
R语言 | 基础入门03 : R语言函数编写与常用函数语句

R语言 | 基础入门03 : R语言函数编写与常用函数语句

目录

一、r语言常用函数语句

二、r语言函数:apply、sappy、tapply家族

三、r语言函数编写:求积分、求根、求概率

一、r语言常用函数语句

  • if语句及if-else语句
if(condition){
    ## condition =TRUE则进入花括号执行
if(condition){
else(condition){
ifelse(condition, statement1, statement2)
#con是逻辑条件,当逻辑条件的值为TRUE时,则输出statement1的值,否则输出statement2的值。

绘制分段函数图像: y=x^2;1\leq x\leq 3 \\ y=x+5; x \geq 0

  • for循环
for( i in 1:1000){
} 

举例:求阶乘、最大值

  • while语句
 while(condition){##condition=TRUE,则进入执行}
  • Repeat语句 :
repeat{ if(condition)break ##break语句跳出循环}

二、r语言函数:apply、sappy、tapply家族

apply函数族是R语言中数据处理的一组核心函数,通过使用apply函数,我们可以实现对数据的循环、分组、过滤、类型控制等操作。

  • apply(X, MARGIN, FUN, ...) 函数
apply(X, MARGIN, FUN, ...)
x:操作对象,一般为矩阵、向量。
margin:一般是指按行计算还是按列计算,1—表示按行计算,2—按列计算。
Fun:1.操作函数,如sum,mean,exp,
     2.也可以为自己定义的函数f
返回值为:向量、多维数组、列表
  • lapply(X, FUN, ...)
lapply(X, FUN, ...)
x:操作对象,为列表、数据框、向量。
Fun:操作函数 
返回为列表
  • sapply(X, FUN,simplify=TRUE)
sapply(X, FUN,simplify=TRUE)
比函数lapply()多了一个参数simplify
若simplify=FALSE,则同lapply(); 
若simplify=TRUE,则将输出的list简化为向量或矩阵;
  • tapply()函数: 对不规则阵列、对因子数据,作用某函数。
tapply(x, INDEX, fun, ..., simplify=TRUE)
x:通常为向量;
INDEX:与x长度相同的因子列表(若不是因子,R会强制转化为因子);
simplify=TRUE且fun计算结果为标量值,则返回值为数组,若为FALSE,则返回值为list对象。
  • mapply()函数: 是sapply()的多变量版本,将对多个变量的每个参数作用某函数。
mapply(fun, MoreArgs=NULL, SIMPLIFY=TRUE)
MoreArgs为fun函数的其它参数列表;
SIMPLIFY为逻辑值或字符串,取值为TRUE时,将结果转化为一个向量、矩阵或高维阵列

更多其他有关apply函数家族函数: apply函数家族介绍blog

三、r语言函数编写:求积分、求根、求概率

r语言编写函数有如下特点:

  1. 用户自建:R 语言允许用户创建自己的函数(function)对象。
  2. 扩展性强:R 有一些内部函数,如mean(), var()等等,可以用在其他的表达式中。通过用户自定义编程,R 在程序的功能性,便利性和优美性上得到了扩展。写一些有用的函数是一个人轻松地创造性地使用R 的最主要的方式。
  3. 自建函数与内部函数无异:大多数函数都作为R 系统的一部分而提供,如mean(), var(),等等。这些函数都是用R 写的,因此在本质上和自己写的函数没有差别。
f <- function(arg 1 , arg 2 , ...) {
expression1
expression2
return (m)
arg1, arg2:函数输入参数,一般为数值,向量或者矩阵。 
expression:R 表达式(常常是一个成组表达式),它利用参数argi计算返回值m
可以在任何地方以f (argr1 , arg2 , ...)的形式调用函数