Установка значения по умолчанию в функции? - программирование
Подтвердить что ты не робот

Установка значения по умолчанию в функции?

У меня есть простая функция плотности ниже:

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 < - function (x = x.default, b, r)... однако мое значение по умолчанию зависит от r и b. Как я могу это сделать? предположим, что значение по умолчанию для x равно:

seq(from = 0.05, to = b, by = 0.001)

Спасибо за вашу помощь,

4b9b3361

Ответ 1

dpower <- function(b, r, x = seq(from = 0.05, to = b, by = 0.001))
....

Ответ 2

Вы можете установить значение X в NULL и иметь одну из первых строк вашей функции

 if(is.null(x))
     x <- seq(from = 0.05, to = b, by = 0.001)