Reputation: 99351
The documentation for the base function c()
shows its default arguments as
c(..., recursive = FALSE)
Now, if we define
lst <- list(x = 1:5, y = 6:10)
and then combine the list with
c(lst, recursive = TRUE)
# x1 x2 x3 x4 x5 y1 y2 y3 y4 y5
# 1 2 3 4 5 6 7 8 9 10
the list is collapsed, and the names are kept.
But we can also use another, undocumented argument, use.names
, to remove the names.
c(lst, recursive = TRUE, use.names = FALSE)
# [1] 1 2 3 4 5 6 7 8 9 10
Why isn't use.names
documented as one of the arguments of c()
?
Upvotes: 17
Views: 359
Reputation: 263411
I think that it is due to the recursive=TRUE
which I believe must use the same code as unlist
. The use.names
parameter is described in ?unlist
.
Upvotes: 10
Reputation: 75585
c
is an S4 Generic function, which means that a different function is called depending on its arguments.
Not all of those functions take the argument use.names
, so it does not make sense for it to be documented in the documentation for c()
.
Upvotes: 3