首 页IT知识库翔宇问吧收藏本站
当前位置:翔宇亭IT乐园IT知识库R语言

R语言中使用自定义函数

减小字体 增大字体 作者:biye5u.com  来源:本站原创  发布时间:2018-01-29 11:45:10

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

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

functionname <- function( arglist ) expr
return (value)

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

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

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

R语言中自定义函数的方法

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

(1)无参函数

welcom<-function()
{
print("Welcome to my site:www.biye5u.com")
}

将该函数保存到文件

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

(2)带参数的函数

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

maxvalue<-function(x)
{
if(length(x)==0)
stop("参数x不能为空值。");
maxv<-x[1]
for(i in 2:length(x))
if(x[i] > maxv)
maxv <- x[i]
return(maxv)
}

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

X<-c(11,34,21,38,71,29)
maxvalue(X)

输出:71

(3)带默认参数的函数

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

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

maxnum<-function(n1,n2=0,n3)
{
maxn <- n1
if(n2 > maxn)
maxn <- n2
if(n3 > maxn)
maxn <- n3
return(maxn)
}

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

maxnum(1,2,3)
maxnum(1,n3=3) 

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

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

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 1分

内 容:

            请注意用语文明且合法,不要发布带有攻击性、侮辱性的言论,谢谢合作!

         通知管理员 验证码:

关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图 | 用户守则 | 联系我们
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2017 biye5u.com. All Rights Reserved.
网站备案号:黑ICP备13005378号-3