R语言中自定义函数、调用、加载

 

1、自定义函数之位置参数

> testfun1 <- function(arg1, arg2){         ## 自定义函数,给与两个参数arg1、arg2
+   result = arg1 - arg2
+   print(result)
+ }
> testfun1(10, 3)     ## 默认就是位置参数,即arg1等于10, arg2等于3
[1] 7
> testfun1(3, 10)     ## 默认是位置参数
[1] -7

 

2、自定义函数之关键字参数

> testfun1 <- function(arg1, arg2){
+   result = arg1 - arg2
+   print(result)
+ }
> testfun1(arg1 = 10, arg2 = 3)      ## 利用关键字精准指定参数的值,位置参数此时不起作用
[1] 7
> testfun1(arg2 = 10, arg1 = 3)
[1] -7

 

3、自定义函数之默认参数

> testfun1 <- function(arg1 = 10, arg2){        ## 定义函数时指定arg1为10, 即参数默认值是10
+   result = arg1 - arg2
+   print(result)
+ }
> testfun1(arg2 = 3)            ## 调用函数时, 不指定arg1的值,则默认是10
[1] 7
> testfun1(arg2 = 3, arg1 = 5)   ## 指定arg1为5, 则默认参数不起作用
[1] 2

 

4、加载函数(将编写好的函数已保存为文件)

 

 

 

 

单个加载:

> dir()
[1] "a.r"   "a.txt" "b.r"   "c.txt"
> source("a.r")     ## 加载a.r函数并调用
> testfun1(10, 20)
[1] -10

 

批量加载:

> dir()
[1] "a.r"   "a.txt" "b.r"   "c.txt"
> list.files(pattern = ".r$")       ## 列出当前目录中所有以.r结尾的文件
[1] "a.r" "b.r"
> for (i in list.files(pattern = ".r$")) {
+   source(i)                       ## 批量加载
+ }
> testfun1(10, 20)
[1] -10
> testfun2(10, 20)
[1] 30

 

posted @ 2022-04-28 20:25  小鲨鱼2018  阅读(1434)  评论(0编辑  收藏  举报