码迷,mamicode.com
首页 > 编程语言 > 详细

R语言-缺少参数, 也没有缺省值

时间:2015-08-30 00:58:27      阅读:1638      评论:0      收藏:0      [点我收藏+]

标签:r语言   函数   参数   

“缺少参数, 也没有缺省值”——在R语言自编函数中,如果参数没有输入值则会报这个错误。

1、问题

例如:

> my.func
my.func<-function(p){
    print("TEST IS OK!")
    print(p)
}
> my.func()
[1] "TEST IS OK!"
Error in print(p) :

  在为‘print‘函数选择方法时评估‘x‘参数出了错: 错误: 缺少参数"p",也没有缺省值

2、分析

这个怎么办呢?能象Java语言中一样加入空值判断吗?例如:

my.func<-function(p){
    print("TEST IS OK!")
    if(is.null(p))
        print("p value is null.")
    else
        print(p)
}

回答是不可以。这确实是与Java等其他面向对象的语言不一样。

那么怎么解决呢?

3、解决

答案就是加入缺省参数,也就是说在R语言里,不允许有不确定的参数存在。

改进后的例子:

my.func<-function(p=1){
    print("TEST IS OK!")
    print(p)
}

运行:

> my.func()
[1] "TEST IS OK!"
[1] 1
>

在设置缺省值后,即使不输入参数,也能正常运行。

版权声明:本文为博主原创文章,未经博主允许不得转载。

R语言-缺少参数, 也没有缺省值

标签:r语言   函数   参数   

原文地址:http://blog.csdn.net/hongweigg/article/details/48095745

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!