Вихідний код R pnorm
:
function (q, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
.Call(C_pnorm, q, mean, sd, lower.tail, log.p)
Отже, технічно кажучи, введення "pnorm" дійсно показує вам вихідний код. Однак корисніше: кишки pnorm
кодуються на C, тому поради в попередньому питанні щодо перегляду вихідного коду на R корисні лише для периферії (більшість із них зосереджено на функціях, прихованих у просторах імен тощо).
Стаття Уве Ліггеса в R news (стор. 43) є хорошим загальним посиланням. З цього документа:
При перегляді вихідного коду R іноді відображаються виклики до однієї з таких функцій: .C (), .Call (), .Fortran (), .External () або .Internal () та .Primitive (). Ці функції викликають точки входу в скомпільованому коді, такі як спільні об'єкти, статичні бібліотеки або бібліотеки динамічних посилань. Тому необхідно зазирнути у джерела складеного коду, якщо потрібно повне розуміння коду. ... Першим кроком є пошук точки входу у файлі '$ R HOME / src / main / names.c', якщо виклична функція R є .Primitive () або .Internal (). Це зроблено в наступному прикладі для коду, що реалізує "просту" функцію R (sum).
(Виділено бо точна функція , яку ви просили про ( sum
) розглядається в статті Ligges в.)
Залежно від того, наскільки серйозно ви хочете копатись у коді, можливо, варто завантажити та розпакувати вихідний код, як пропонує Ligges (наприклад, тоді ви можете використовувати інструменти командного рядка, такі як grep
пошук у вихідному коді). Для більш випадкового огляду ви можете переглянути джерела в Інтернеті через сервер R Subversion або дзеркало github Вінстона Чанга (посилання тут стосуються конкретно src/nmath/pnorm.c
). (Вгадавши правильне місце для пошуку, src/nmath/pnorm.c
бере певне знайомство зі структурою вихідного коду R.)
mean
і sum
обидва вони реалізовані в резюме . c .
pnorm
. Спробуйтеmean.default
код R, а github.com/wch/r-source/blob/trunk/src/main/summary.c - код C. І прочитайте статтю Уве Ліггеса, зв’язану вище!