Mã nguồn R của pnorm
là:
function (q, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
.Call(C_pnorm, q, mean, sd, lower.tail, log.p)
Vì vậy, về mặt kỹ thuật, gõ "pnorm" sẽ hiển thị cho bạn mã nguồn. Tuy nhiên, hữu ích hơn: Ruột của pnorm
được mã hóa bằng C, vì vậy lời khuyên trong mã nguồn xem câu hỏi trước trong R chỉ hữu ích về mặt ngoại vi (hầu hết tập trung vào các hàm ẩn trong không gian tên, v.v.).
Bài báo của Uwe Ligges trên tờ R news (trang 43) là một tài liệu tham khảo chung tốt. Từ tài liệu đó:
Khi xem mã nguồn R, đôi khi các lệnh gọi đến một trong các hàm sau sẽ hiển thị: .C (), .Call (), .Fortran (), .External () hoặc .Internal () và .Primitive (). Các hàm này đang gọi các điểm vào trong mã đã biên dịch như các đối tượng chia sẻ, thư viện tĩnh hoặc thư viện liên kết động. Vì vậy, cần phải xem xét các nguồn của mã đã biên dịch, nếu cần phải hiểu đầy đủ về mã. ... Bước đầu tiên là tra cứu điểm nhập trong tệp '$ R HOME / src / main / names.c', nếu hàm R đang gọi là .Primitive () hoặc .Internal (). Điều này được thực hiện trong ví dụ sau đối với mã thực hiện hàm sum () R 'đơn giản'.
(Nhấn mạnh thêm vì hàm chính xác mà bạn hỏi về ( sum
) được đề cập trong bài báo của Ligges.)
Tùy thuộc vào mức độ nghiêm túc bạn muốn đào sâu vào mã, có thể đáng để tải xuống và giải nén mã nguồn như Ligges đề xuất (ví dụ: sau đó bạn có thể sử dụng các công cụ dòng lệnh như grep
để tìm kiếm thông qua mã nguồn). Để kiểm tra thông thường hơn, bạn có thể xem các nguồn trực tuyến thông qua máy chủ R Subversion hoặc máy nhân bản github của Winston Chang (các liên kết ở đây dành riêng cho src/nmath/pnorm.c
). (Đoán đúng nơi để xem, src/nmath/pnorm.c
hãy làm quen với cấu trúc của mã nguồn R.)
mean
và sum
cả hai đều được thực hiện tóm tắt . c.
pnorm
. Hãy thửmean.default
mã R và github.com/wch/r-source/blob/trunk/src/main/summary.c cho mã C. Và hãy đọc bài viết của Uwe Ligges được liên kết ở trên!