Der R-Quellcode von pnormlautet:
function (q, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
.Call(C_pnorm, q, mean, sd, lower.tail, log.p)
Also, technisch gesehen, die Eingabe von „Pnorm“ tut zeigen Sie den Quellcode. Nützlicher jedoch: Die Eingeweide von pnormsind in C codiert, sodass der Hinweis im Quellcode der vorherigen Frage in R nur am Rande nützlich ist (der größte Teil konzentriert sich auf Funktionen, die in Namespaces usw. verborgen sind).
Der Artikel von Uwe Ligges in den R-Nachrichten (S. 43) ist eine gute allgemeine Referenz. Aus diesem Dokument:
Beim Betrachten des R-Quellcodes werden manchmal Aufrufe einer der folgenden Funktionen angezeigt: .C (), .Call (), .Fortran (), .External () oder .Internal () und .Primitive (). Diese Funktionen rufen Einstiegspunkte in kompilierten Code auf, z. B. gemeinsam genutzte Objekte, statische Bibliotheken oder dynamische Linkbibliotheken. Daher ist es notwendig, die Quellen des kompilierten Codes zu untersuchen, wenn ein vollständiges Verständnis des Codes erforderlich ist. ... Der erste Schritt besteht darin, den Einstiegspunkt in der Datei '$ R HOME / src / main / names.c' nachzuschlagen, wenn die aufrufende R-Funktion entweder .Primitive () oder .Internal () ist. Dies geschieht im folgenden Beispiel für den Code, der die 'einfache' R-Funktionssumme () implementiert.
(Hervorhebung hinzugefügt, da die genaue Funktion, nach der Sie gefragt haben ( sum), in Ligges 'Artikel behandelt wird.)
Je nachdem, wie ernst Sie sich mit dem Code befassen möchten, kann es sich lohnen, den Quellcode herunterzuladen und zu entpacken, wie es Ligges vorschlägt (dann können Sie beispielsweise Befehlszeilentools verwenden, um beispielsweise grepden Quellcode zu durchsuchen). Für eine ungezwungenere Überprüfung können Sie die Quellen online über den R Subversion-Server oder den Github-Spiegel von Winston Chang anzeigen (Links hier sind speziell zu src/nmath/pnorm.c). (Um den richtigen Ort zu finden, src/nmath/pnorm.cmuss man sich mit der Struktur des R-Quellcodes vertraut machen.)
meanund sumsind beide in summary.c implementiert .
pnorm. Versuchen Sie esmean.defaultmit dem R-Code und github.com/wch/r-source/blob/trunk/src/main/summary.c für den C-Code. Und lesen Sie den oben verlinkten Artikel von Uwe Ligges!