Kod źródłowy R pnorm
jest:
function (q, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
.Call(C_pnorm, q, mean, sd, lower.tail, log.p)
Tak, technicznie rzecz biorąc, wpisując "pnorm" robi pokazać kod źródłowy. Jednak bardziej użytecznie: Flaki pnorm
są kodowane w C, więc porady z poprzedniego pytania view source code in R są tylko przydatne peryferyjnie (większość koncentruje się na funkcjach ukrytych w przestrzeniach nazw itp.).
Uwe Ligges's article in R news (str. 43) to dobre ogólne odniesienie. Od tego dokumentu:
Patrząc na kod źródłowy R, czasami nazywa do jednej z następujących funkcji pojawiają się: .C(), .Połączenia(), .Fortran(), .External() lub .Internal() i .Primitive(). Te funkcje wywołują punkty wejścia w skompilowanym kodzie, takim jak obiekty wspólne, biblioteki statyczne lub biblioteki dołączane dynamicznie. Dlatego też, należy zajrzeć do źródeł skompilowanego kodu, jeśli wymagane jest pełne zrozumienie kodu: . ... Pierwszym krokiem jest przyjrzenie się punkt wejścia w pliku '$ R HOME/src/main/names.c', jeśli funkcja powołanie R to .Primitive() lub .Internal() . Wykonano to w poniższym przykładzie dla kodu implementującego funkcję "prostą" R sum().
(podkreślenie dodane ponieważ dokładna funkcja pytasz o (sum
) jest ujęta w art Ligges Użytkownika).
W zależności od tego, jak poważnie chcesz kopać w kodzie, może warto pobierania i rozpakowywanie kodu źródłowego, jak sugeruje Ligges (na przykład, możesz użyć narzędzi wiersza poleceń, takich jak , takich jak grep
, aby przeszukać kod źródłowy). Aby uzyskać bardziej swobodny przegląd, można zobaczyć źródeł online za pośrednictwem R Subversion server lub Winston Chang's github mirror (linki tutaj są specjalnie do src/nmath/pnorm.c
). (Odgadywanie odpowiednie miejsce, aby spojrzeć, src/nmath/pnorm.c
, wymaga pewnej znajomości struktury kodu źródłowego R).
mean
i sum
są realizowane zarówno w summary.c.
jest w innej kategorii niż 'pnorm'. Wypróbuj 'mean.default' dla kodu R i https://github.com/wch/r-source/blob/trunk/src/main/summary.c dla kodu C. I przeczytaj przeczytany artykuł Uwe Ligges! –