2014-10-25 22 views
6

Citazione di definizione del linguaggio R:Cosa significano ..1 e ..2 in R?

Avviso che gli identificatori a partire da un periodo non sono per default elencati dalla funzione ls che e '...' e '..1' ,' ..2' , ecc. sono speciali.

i seguenti identificatori hanno un significato speciale e non può essere utilizzato per nomi degli oggetti, se il resto di ripetizione mentre la funzione di pausa nel prossimo VERO NULL FALSE Inf NaN NA NA_integer_ NA_real_ NA_complex_ NA_character_ ... ..1 ..2 ecc

Tuttavia non fornisce ulteriori dettagli. Qualcuno potrebbe elaborare?

risposta

8

Questi sono utilizzati per estrarre a livello valori dall'argomento ... di una funzione. Vedere il seguente esempio:

myfun <- function(...) { 
    list(a = ..1, b = ..2, c = ..3) 
} 

myfun(1,2,3) 
# $a 
# [1] 1 
# $b 
# [1] 2 
# $c 
# [1] 3 

myfun(3,2,1) 
# $a 
# [1] 3 
# $b 
# [1] 2 
# $c 
# [1] 1 

myfun(1:5, "hello", letters[1:3]) 
# $a 
# [1] 1 2 3 4 5 
# $b 
# [1] "hello" 
# $c 
# [1] "a" "b" "c" 

Questo uso diventa evidente se si tenta di chiamare uno di questi dalla console:

> ..1 
Error: ..1 used in an incorrect context, no ... to look in 
+0

Buona risposta. Non riesco a vedere dove sarebbe utile. +1 –

+1

C'è un esempio in 'methods ::: rbind'. –

Problemi correlati