“缺少参数, 也没有缺省值”——在R语言自编函数中,如果参数没有输入值则会报这个错误。
例如:
> my.func在为‘print‘函数选择方法时评估‘x‘参数出了错: 错误: 缺少参数"p",也没有缺省值
这个怎么办呢?能象Java语言中一样加入空值判断吗?例如:
my.func<-function(p){
print("TEST IS OK!")
if(is.null(p))
print("p value is null.")
else
print(p)
}
回答是不可以。这确实是与Java等其他面向对象的语言不一样。
那么怎么解决呢?
答案就是加入缺省参数,也就是说在R语言里,不允许有不确定的参数存在。
改进后的例子:
my.func<-function(p=1){
print("TEST IS OK!")
print(p)
}
运行:
> my.func()
[1] "TEST IS OK!"
[1] 1
>
在设置缺省值后,即使不输入参数,也能正常运行。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/hongweigg/article/details/48095745