Kod źródłowy R programu pnormto:
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” ma pokazać kod źródłowy. Jednak bardziej użyteczne: wnętrzności pnormsą kodowane w C, więc rada z poprzedniego pytania, aby zobaczyć kod źródłowy w R, jest przydatna tylko peryferyjnie (większość z nich koncentruje się na funkcjach ukrytych w przestrzeniach nazw itp.).
Artykuł Uwe Liggesa w R news (s. 43) jest dobrym odniesieniem ogólnym. Z tego dokumentu:
Podczas przeglądania kodu źródłowego R czasami pojawiają się wywołania jednej z następujących funkcji: .C (), .Call (), .Fortran (), .External () lub .Internal () i .Primitive (). Te funkcje wywołują punkty wejścia w skompilowanym kodzie, takim jak obiekty współużytkowane, biblioteki statyczne lub biblioteki dołączane dynamicznie. Dlatego konieczne jest zajrzenie do źródeł skompilowanego kodu, jeśli wymagane jest pełne zrozumienie kodu. ... Pierwszym krokiem jest wyszukanie punktu wejścia w pliku „$ R HOME / src / main / names.c”, jeśli wywołująca funkcję R to .Primitive () lub .Internal (). Odbywa się to w poniższym przykładzie dla kodu implementującego „prostą” funkcję R sum ().
(Podkreślenie dodane, ponieważ dokładna funkcja, o którą pytałeś ( sum), jest omówiona w artykule Ligges.)
W zależności od tego, jak poważnie chcesz zagłębić się w kod, warto pobrać i rozpakować kod źródłowy, jak sugeruje Ligges (na przykład możesz użyć narzędzi wiersza poleceń, takich jak grepprzeszukiwanie kodu źródłowego). Aby uzyskać bardziej swobodną inspekcję, możesz przeglądać źródła online za pośrednictwem serwera R Subversion lub serwera lustrzanego github Winston Chang (linki tutaj prowadzą do src/nmath/pnorm.c). (Odgadnięcie właściwego miejsca src/nmath/pnorm.c, wymaga pewnej znajomości struktury kodu źródłowego R.)
meani sumoba są zaimplementowane w Summary . c.
pnorm. Spróbuj znaleźćmean.defaultkod R, a github.com/wch/r-source/blob/trunk/src/main/summary.c kod C. I przeczytaj artykuł Uwe Ligges, do którego link znajduje się powyżej!