の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ニュース(p。43)のUwe Liggesの記事は、一般的な参考資料として適しています。その文書から:
Rソースコードを見ると、次の関数のいずれかが表示されることがあります:.C()、. Call()、. Fortran()、. External()、または.Internal()と.Primitive()。これらの関数は、共有オブジェクト、静的ライブラリ、ダイナミックリンクライブラリなどのコンパイル済みコードのエントリポイントを呼び出しています。したがって、コードを完全に理解する必要がある場合は、コンパイルされたコードのソースを調べる必要があります。...最初のステップは、呼び出し元のR関数が.Primitive()または.Internal()の場合、ファイル '$ R HOME / src / main /names.c'のエントリポイントを検索することです。これは、次の例で「単純な」R関数sum()を実装するコードに対して実行されます。
((sum
)について尋ねた正確な関数がLiggesの記事でカバーされているため、強調が追加されました。)
コードをどれだけ真剣に掘り下げたいかによっては、Liggesが提案するように、ソースコードをダウンロードして解凍する価値があるかもしれません(たとえば、grep
ソースコードを検索するなどのコマンドラインツールを使用できます)。よりカジュアルな検査のために、RSubversionサーバーまたはWinstonChangのgithubミラーを介してオンラインでソースを表示できます(ここのリンクは特にへのリンクですsrc/nmath/pnorm.c
)。(見るsrc/nmath/pnorm.c
のに適切な場所を推測するには、Rソースコードの構造にある程度精通している必要があります。)
mean
とsum
両方がsummary.cに実装されています。
pnorm
。mean.default
Rコードを試してみてください。Cコードはgithub.com/wch/r-source/blob/trunk/src/main/summary.cを試してください。そして、上にリンクされているUwe Liggesの記事を読んでください!