Использование ` ... '(три точки или точка-точка-точка) в функциях
где я могу найти документацию по использованию ...
в функции? Примеры были бы полезны.
3 ответа:
слово, используемое для описания
...
это "многоточие.- Знание этого должно облегчить поиск информации о конструкции. Например, первый удар по Google-это еще один вопрос на этом сайте: Как использовать функцию многоточия R при написании собственной функции?
маленький пример, чтобы вы начали.
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"))
функции
f
, сохраняет все, кроме первого входного аргумента в переменной с многоточием. Для доступа к его содержимому проще всего преобразовать его в список (1). Однако основное использование заключается в передаче аргументов подфункциям, что не требует преобразования (2).
вы должны перейти к "определению языка R", раздел 2.1.9 Точка-Точка-точка. Он поставляется в комплекте с установкой Р. Беги
help.start()
в интерактивном сеансе, чтобы вызвать HTML-справку, и нажмите на Определение Языка R ссылка. Вы можете использовать PDF или HTML версия с официального сайта, а также.в любом случае,
...
используется для сопоставления неопределенных формальных аргументов a функция.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
Как видите, я прошел
trim = .5
хотя это и не указано в качестве формального аргумента