studio - superponer graficas en r
Uso de `...`(tres puntos o punto-punto-punto) en funciones (3)
¿Dónde puedo encontrar documentación sobre el uso de ...
en funciones? Los ejemplos serían útiles.
Debe dirigirse a "R Language Definition", sección 2.1.9 Dot-dot-dot . Viene incluido con la instalación R Ejecute help.start()
en una sesión interactiva para subir la ayuda HTML, y haga clic en el enlace Definición de lenguaje R. También puede usar la versión PDF o HTML desde el sitio principal.
De todos modos, ...
se usa para hacer coincidir los argumentos formales no especificados de una función.
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
Como puede ver, pasé trim = .5
aunque no está especificado como un argumento formal de la función sapply
.
(tenga en cuenta que este ejemplo es trivial, puede usar sapply(mtcars, median)
para lograr el mismo resultado)
La palabra utilizada para describir ...
es "puntos suspensivos". Conocer esto debería facilitar la búsqueda de información sobre la construcción. Por ejemplo, el primer golpe en Google es otra pregunta en este sitio: ¿Cómo usar la función de elipsis de R cuando escribe su propia función?
Un pequeño ejemplo para comenzar.
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 función, f
, almacena todos menos el primer argumento de entrada en la variable de puntos suspensivos. Para acceder a sus contenidos, es más fácil convertirlo en una lista (1). Sin embargo, el uso principal es para pasar argumentos a subfunciones, lo que no requiere conversión (2).