# 自建函数--自定义的函数,可以像内置函数一样使用
第一步:创建 function_name<-function(arg,arg,...){expr}
第二步: 调用 function_name(参数赋值,A = 1 数字 ,A = '字符')
1. 返回结果
2. 函数调用方式;
3. 配合for循环; 指定参数
4. 配合 if 循环
具体如下
1. 返回结果
#内置函数的简单示例是 seq(),mean(),max(),sum(x) 和 paste(...) 等。直接调用
print(seq(32,44))
print(mean(1:3))
print(sum(1:3))
## 因为R函数会返回最后一个表达式的值,所以不用写返回
2.调用方式
# 调用没有参数的函数 ,直接用空的括号 new.function()
# 调用有参数的函数,括号里写明参数值 function(6) new.function(a = 11, b = 5, c = 3)
3. 配合for循环
# for (i in seq) statement
例如:
# 没有参数
my.function_no <- function(){
for (i in 1:10){
print(i^2)
}}
my.function_no() #直接用空的括号调用
# 1个参数
# 示例1: 求1的3次+2的3次+。。。。+n的3次方
fun <- function(n){
s <- 0 # 先创建个变量
for (i in 1:n)
s <- s + i^3
s # 最后一行是输出值
}
fun(100) #括号里写明参数值
x #等于 print(x) R语言-自定义函数 - 知乎
# 示例2: 求 i 的平方
# Create a function to print squares of numbers in sequence.
my.function <- function(a){
for (i in 1:a){
b <- i^2
print(b) #还是得写,不能只写b
}}
my.function(6) #输出 1 4 9 16 25 36
# 多个参数
my.function1<- function(a,b,c,d,e,f,g){
h <- a+b+c+d+e+f+g
print(h)
}
# Call the function by names of the arguments.
# my.function1(a=1,b=1,c=1,d=1,e=1,f=1,g=1) 定义参数的值 不同的顺序提供,但分配给参数的名称。
my.function1(1,1,1,1,1,1,1) #使用参数值调用函数(按位置和名称)
4. 配合 if 循环
test <- function(a){
if (a > 0){
a <- a + 1
print(paste0("This number is greater than 0,number is ",a))
}else{
a <- a - 1
print("This number is less than 0")
} }
test(8) # "This number is greater than 0,number is :3"
参考
R语言笔记6:在R中写一些简单的函数、functions基础和作用域
本文章仅作为个人笔记与大家分享,希望大家少走弯路,过程中参考了一系列大神的文章,如有侵犯劳烦联系删除。