Ответ 1
Я думаю, что это связано с recursive=TRUE
, который, я считаю, должен использовать тот же код, что и unlist
. Параметр use.names
описан в ?unlist
.
Документация для базовой функции c()
показывает свои аргументы по умолчанию как
c(..., recursive = FALSE)
Теперь, если мы определим
lst <- list(x = 1:5, y = 6:10)
а затем соедините список с
c(lst, recursive = TRUE)
# x1 x2 x3 x4 x5 y1 y2 y3 y4 y5
# 1 2 3 4 5 6 7 8 9 10
список сбрасывается, а имена сохраняются.
Но мы также можем использовать другой недокументированный аргумент use.names
, чтобы удалить имена.
c(lst, recursive = TRUE, use.names = FALSE)
# [1] 1 2 3 4 5 6 7 8 9 10
Почему use.names
не зарегистрирован как один из аргументов c()
?
Я думаю, что это связано с recursive=TRUE
, который, я считаю, должен использовать тот же код, что и unlist
. Параметр use.names
описан в ?unlist
.
c
- это общая функция S4, что означает, что в зависимости от ее аргументов вызывается другая функция.
Не все из этих функций принимают аргумент use.names
, поэтому нет смысла документировать его в документации для c()
.