2014-10-25 10 views
6

Cytat z definicji języka R:Co oznaczają wartości .1 i ..2 w R?

Zauważ, że identyfikatory zaczynające się na okres nie są domyślnie wymienionych przez funkcję ls i że „...” i „..1' ,” ..2' itp. są specjalne.

następujące identyfikatory mają szczególne znaczenie i nie może być używany nazw obiektów, jeśli jeszcze powtórzyć, gdy funkcja w kolejnej przerwie TRUE FALSE NULL Inf NaN NA NA_integer_ NA_real_ NA_complex_ NA_character_ ... ..1 ..2 etc

Jednak nie podaje żadnych dalszych szczegółów. Czy ktokolwiek mógłby rozwinąć?

Odpowiedz

8

Służy do wyodrębniania wartości z argumentu funkcji za pomocą argumentu .... Zobacz poniższy przykład:

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" 

Takie wykorzystanie staje się oczywiste, jeśli spróbujesz zadzwonić pod jeden z nich z konsoli:

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

dobra odpowiedź. Nie widzę, gdzie byłoby to przydatne. +1 –

+1

Istnieje przykład w 'methods ::: rbind'. –

Powiązane problemy