【R语言】自定义的函数 function

# 自建函数--自定义的函数,可以像内置函数一样使用
第一步:创建         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基础和作用域

本文章仅作为个人笔记与大家分享,希望大家少走弯路,过程中参考了一系列大神的文章,如有侵犯劳烦联系删除。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值