Où puis-je trouver de la documentation sur l'utilisation de ...
dans les fonctions ? Des exemples seraient utiles.
Réponses
Trop de publicités?Le mot utilisé pour décrire ...
est "ellipsis". En sachant cela, la recherche d'informations sur la construction devrait être plus facile. Par exemple, le premier résultat sur Google est une autre question sur ce site : Comment utiliser la fonction d'ellipse de R lorsque vous écrivez votre propre fonction ?
Un petit exemple pour vous aider à démarrer.
f <- function(x, ...)
{
dots <- list(...) #1
if(length(dots) == 0) return(NULL)
cat("The arguments in ... are\n")
print(dots)
f(...) #2
}
f(1,2,3,"a", list("monkey"))
La fonction, f
stocke tout sauf le premier argument d'entrée dans la variable ellipsis. Pour accéder à son contenu, il est plus facile de la convertir en une liste (1). L'utilisation principale est cependant de passer des arguments aux sous-fonctions, ce qui ne nécessite aucune conversion (2).
Vous devriez vous rendre à la section "Définition du langage R". 2.1.9 Point-point-point . Il est fourni avec l'installation de R. Exécuter help.start()
dans une session interactive pour faire apparaître l'aide HTML, puis cliquez sur Définition du langage R lien. Vous pouvez utiliser PDF o HTML à partir du site principal également.
De toute façon, ...
est utilisé pour correspondre aux arguments formels non spécifiés d'une fonction.
args(sapply)
function (X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)
NULL
sapply(mtcars, mean, trim = .5)
mpg cyl disp hp drat wt qsec vs am gear
19.200 6.000 196.300 123.000 3.695 3.325 17.710 0.000 0.000 4.000
carb
2.000
Comme vous pouvez le voir, j'ai réussi trim = .5
bien qu'il ne soit pas spécifié comme un argument formel de la fonction sapply
fonction.
(notez que cet exemple est trivial, vous pouvez utiliser sapply(mtcars, median)
pour obtenir le même résultat)