Де я можу знайти документацію щодо використання ...
функцій? Приклади були б корисними.
Де я можу знайти документацію щодо використання ...
функцій? Приклади були б корисними.
Відповіді:
Слово, що використовується для опису, ...
- "багатоточия". Знаючи це, слід полегшити пошук інформації про конструкцію. Наприклад, першим зверненням до Google є інше запитання на цьому веб-сайті: Як використовувати функцію багатоточия R під час написання власної функції?
dots
, наприклад, сторінка довідки названа, ?dots
а "еліпсис" навіть не згадується на цій сторінці
?dots
це не працює для мене, але ?'...'
працює.
Невеликий приклад для початку.
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).
f()
щоразу викликається неодноразово з різними аргументами. Запустіть код і перевірте, чи можете ви зрозуміти, що відбувається.
...length()
як добре
Вам слід перейти до "Визначення мови R", розділ 2.1.9 Крапка-крапка-крапка . Він поставляється в комплекті з установкою R. Запустіть help.start()
інтерактивну сесію, щоб викликати довідку HTML, і натисніть на посилання Визначення мови R Ви також можете використовувати версію PDF або HTML з основного сайту.
У будь-якому випадку, ...
використовується для узгодження невизначених формальних аргументів функції.
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
хоча це не вказано як формальний аргумент sapply
функції.
(зверніть увагу, що цей приклад є тривіальним, ви можете використовувати його sapply(mtcars, median)
для досягнення того самого результату)
trim
- це аргумент mean
функції. ...
В sapply
є механізмом , trim
які будуть передані mean
.
...
: R еквівалент введення ключового слова python (def func(**kwargs)
)