studio - r function return multiple values
¿Por qué la función c() acepta un argumento no documentado? (2)
Creo que es debido a recursive=TRUE
que creo que debe usar el mismo código que unlist
. El parámetro use.names
se describe en ?unlist
.
La documentación para la función base c()
muestra sus argumentos predeterminados como
c(..., recursive = FALSE)
Ahora, si definimos
lst <- list(x = 1:5, y = 6:10)
y luego combinar la lista con
c(lst, recursive = TRUE)
# x1 x2 x3 x4 x5 y1 y2 y3 y4 y5
# 1 2 3 4 5 6 7 8 9 10
la lista está contraída y los nombres se conservan.
Pero también podemos usar otro argumento no documentado, use.names
, para eliminar los nombres.
c(lst, recursive = TRUE, use.names = FALSE)
# [1] 1 2 3 4 5 6 7 8 9 10
¿Por qué no se use.names
como uno de los argumentos de c()
?
c
es una función genérica S4, lo que significa que se llama a una función diferente según sus argumentos.
No todas estas funciones toman el argumento use.names
, por lo que no tiene sentido que esté documentado en la documentación de c()
.