rfunctionarguments

Why does function c() accept an undocumented argument?


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() ?


Solution

  • 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.