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