r语言c函数定义函数,R语言中使用自定义函数

R语言中提供了大量的内置函数为用户解决有关问题,同时,R语言中允许用户编写自己的函数来解决实际问题。

R语言中定义自己的函数语法格式:

functionname

return (value)

上面的语法中,functionname为自己定义的函数名称;arglist是函数的参数列表,可以没有参数,也可以有1个到多个参数;expr是自己编写的相关语句;value是返回值,如没有返回值,可以不写return部分。

编写函数时可以使用R编辑器的程序脚本功能来编写:在R软件中选择菜单“文件”—>"新建程序脚本",打开“R编辑器”,编写自己的函数程序。编辑完后,选择菜单“文件”—>“保存”,输入函数的文件名即可。在使用时,需要将函数加载到R中:可以使用菜单“文件”—>“运行R脚本文件”,然后选择要运行的函数,或者执行代码“source(函数名所在文件名.R)”即可。

如在R软件下直接编写的函数,可以直接调用。

1e24ab3403c07410a527cf1f3b3564ac.png

下面举几个例子来说明一下具体用法:

(1)无参函数

welcom

{

print("Welcome to my site:www.biye5u.com")

}

将该函数保存到文件

该函数执行时,不需要给出参数,其作用是输出一行字符串:Welcome to my site:www.biye5u.com.

(2)带参数的函数

编写一个函数,求出向量中的最大值

maxvalue

{

if(length(x)==0)

stop("参数x不能为空值。");

maxv

for(i in 2:length(x))

if(x[i] > maxv)

maxv

return(maxv)

}

如使用本函数求下面向量X的值

X

maxvalue(X)

输出:71

(3)带默认参数的函数

有时一个函数中有多个参数时,部分参数可能在一些情况下用户不必提供或用户无法提供时,可以使用默认值。

编写一个函数,求出三个数的最大值

maxnum

{

maxn

if(n2 > maxn)

maxn

if(n3 > maxn)

maxn

return(maxn)

}

这个自定义函数中,n2使用了默认值0,在调用时,下面几种格式都是合法的。

maxnum(1,2,3)

maxnum(1,n3=3)

上面第二个调用中,参数n2没有给出值,则会使用其默认值,但n3必须使用参数名来调用,否则,会发生n3没有赋值的错误,因为R会按照给出的参数列表从左到右依次给每个参数赋值,如不用参数名,3会给了参数n2,造成没有默认值的参数n3没有赋值的错误。

最好的做法是,将带有默认值的参数放在所有参数的后面。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值