我有一个简单的密度函数:
dpower <- function(x, b, r){
if ((b <= 0 | r <= 0))
return("Wrong parameters entered!")
else{
density.temp <- (r/b)*(x/b)^(r - 1)
density.temp[which(x >= b | x <= 0)] <- NA
return(density.temp)
}
}
此函数返回与指定分布的值x对应的密度,参数为b和r。我想在x上设置默认值,如果用户没有指定x,则默认值通过。我们可以简单地设置dpower&lt; - function(x = x.default,b,r)...但是,我的默认值取决于r和b。我怎样才能做到这一点?假设x的默认值为:
seq(from = 0.05, to = b, by = 0.001)
感谢您的帮助,
答案 0 :(得分:29)
dpower <- function(b, r, x = seq(from = 0.05, to = b, by = 0.001))
....
答案 1 :(得分:8)
您可以将X的值设置为NULL
,并让函数的第一行之一为
if(is.null(x))
x <- seq(from = 0.05, to = b, by = 0.001)