2019-11-24R语言-day6 function

myfunction<-function(arg1,arg2,...){

statement return (object )}

1.给自定义的函数一个名称“myfunction”

2.function()内为参数,可以设置默认值,等待使用自定义函数mufunction时赋值。

3.statement 是功能执行语句。

4.return 是最终输出的值
eg1:计算两数相乘

function1 <- function(a,b) {
   result= a*b       #function的主体部分,包含功能的语句
   print(result)      #最终的输出值
}

functin1(2,3)
[1] 6

eg2:输出多个结果

function2 <- function(a,b){
   print(a^2)
   print(b)
   print(a)
}

 function2 (2,3)
[1] 4
[1] 3
[1] 2

eg3:

function3 <- function(a,b){
    plot(a,b)
    return(a+b)
}

function3(2,3)
[1] 5
function(2,3)

eg4:计算1-a中所有数的平方

function4 <- function(a){
  for(i in 1:a){
  b = i^2
  print(b)
 }
}

function4(4)
[1] 1
[1] 4
[1] 9
[1] 16

eg5:用参数值调用函数(按位置和名称)

函数调用的参数可以按照函数中定义的顺序提供,也可以按`不同的顺序`提供,
只需要分配给参数的名称即可。

function5 <- function(a,b,c){
  result=a*b +c
  print(result)
}
一样的结果
function5(2,3,4)
function5(a=2,c=4,b=3)

eg6:

function6 <- function(x,npar=TRUE,print=TRUE) {
  if (!npar) {
    center <- mean(x); spread <- sd(x)     #mean:平均数;sd:标准差
  } else {
    center <- median(x); spread <- mad(x)    #median:中位数;mad:绝对中位差
  }
  if (print & !npar) {
    cat("Mean=", center, "\n", "SD=", spread, "\n")
  } else if (print & npar) {
    cat("Median=", center, "\n", "MAD=", spread, "\n")
  }
  result <- list(center=center,spread=spread)
  return(result)
}


 x <- rnorm(10,0,1)      #生成10个均值为0,标准差为1的正态随机数
 function6(x)
 Median= -0.3879296 
  MAD= 1.434252 
 $center
 [1] -0.3879296

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