Gdzie mogę znaleźć dokumentację dotyczącą użycia ...
funkcji in? Przykłady byłyby przydatne.
Gdzie mogę znaleźć dokumentację dotyczącą użycia ...
funkcji in? Przykłady byłyby przydatne.
Odpowiedzi:
Słowo używane do opisu ...
to „wielokropek”. Wiedza o tym powinna ułatwić wyszukiwanie informacji o konstrukcji. Na przykład pierwsze trafienie w Google to kolejne pytanie na tej stronie: Jak korzystać z funkcji wielokropka R podczas pisania własnej funkcji?
dots
, np. Strona pomocy jest nazwana, ?dots
a „wielokropek” nie jest nawet wymieniony na tej stronie
?dots
nie działa dla mnie, ale ?'...'
działa.
Mały przykład na początek.
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"))
Funkcja f
,, przechowuje wszystkie argumenty wejściowe oprócz pierwszego w zmiennej wielokropka. Aby uzyskać dostęp do jego zawartości, najłatwiej jest przekonwertować go na listę (1). Głównym zastosowaniem jest jednak przekazywanie argumentów do podfunkcji, co nie wymaga konwersji (2).
f()
jest wywoływany wielokrotnie z różnymi argumentami za każdym razem. Uruchom kod i zobacz, czy rozumiesz, co się dzieje.
...length()
, jak również
Powinieneś udać się do „R Language Definition”, sekcja 2.1.9 Kropka-kropka . Jest dostarczany w pakiecie z instalacją R. Uruchom help.start()
sesję interaktywną, aby wyświetlić pomoc HTML, i kliknij łącze Definicja języka R. Możesz również użyć wersji PDF lub HTML z głównej strony.
W każdym razie ...
służy do dopasowywania nieokreślonych argumentów formalnych funkcji.
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
Jak widać, zdałem, trim = .5
chociaż nie jest to określony jako formalny argument sapply
funkcji.
(zwróć uwagę, że ten przykład jest trywialny, możesz go użyć, sapply(mtcars, median)
aby osiągnąć ten sam wynik)
trim
jest argumentem mean
funkcji. ...
W sapply
to mechanizm trim
zostać przekazane mean
.
...
jest to odpowiednik słowa kluczowego input (def func(**kwargs)
) w języku R