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
>

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值