web-dev-qa-db-fra.com

Définition de la valeur par défaut dans une fonction?

J'ai une fonction de densité simple ci-dessous:

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)
 } 
}

Cette fonction renvoie la densité correspondant à la valeur x de la distribution spécifiée avec les paramètres b et r. Je voudrais définir la valeur par défaut sur x que si l'utilisateur ne spécifie pas x, les valeurs par défaut passent par. Nous pouvons simplement définir la fonction dpower <- (x = x.default, b, r) ... cependant, ma valeur par défaut dépend de r et b. Comment puis je faire ça? supposons que la valeur par défaut de x soit:

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

Merci de votre aide,

20
Sam
dpower <- function(b, r, x = seq(from = 0.05, to = b, by = 0.001))
....
30
Matthew Lundberg

Vous pouvez définir la valeur de X sur NULL et avoir une des premières lignes de votre fonction soit

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