[解決済み] Rの.Internalや.Primitive関数のソースコードを見るにはどうしたらいいですか?
質問
のソースコードはどちらも表示されません。
pnorm
関数のソースコードを表示しています。
stats:::pnorm
getAnywhere(pnorm)
のソースコードを見るにはどうしたらよいですか?
pnorm
?
sum
(..., na.rm = FALSE) .Primitive("sum")
.Primitive("sum")
function (..., na.rm = FALSE) .Primitive("sum")
methods(sum)
no methods were found
のソースコードを見るにはどうしたらいいでしょうか?
sum
関数のソースコードを見るには?
どのように解決するのですか?
の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でソースコードを表示する
は周辺的にしか役に立ちません(その大部分は名前空間などに隠された関数に集中しています)。
Uwe Ligges の の記事、Accessing the Sources、R news。 (p. 43) は、良い一般的な参考文献です。 その文書から
Rのソースコードを見ていると、時々、以下の関数の呼び出しが表示されます。 が表示されることがあります。
.C()
,.Call()
,.Fortran()
,.External()
または.Internal()
と.Primitive()
. これらの関数は、共有オブジェクトなどのコンパイルされたコード内のエントリポイントを呼び出すものです。 静的ライブラリやダイナミックリンクライブラリなどのコンパイルされたコードのエントリポイントを呼び出すものです。したがって したがって、コードの完全な理解が必要な場合は、コンパイルされたコードのソースを調べる必要があります。 必要です。 ... まず最初に行うのは まず、ファイル'$R HOME/src/main/names.c'のエントリポイントを探します。 呼び出し側のR関数が.Primitive()
または.Internal()
. これは、「単純な」R関数を実装したコードの次の例で行われています。sum()
.
(強調されているのは、あなたが質問した正確な機能 (
sum
)はLiggesの記事でカバーされています)。
あなたがどれだけ真剣にコードを掘り下げたいかにもよりますが、Ligges が提案するようにソースコードをダウンロードして解凍する価値があるかもしれません。
Ligges が提案するように、ソース コードを解凍する価値があるかもしれません (たとえば、そうすれば、"Command-line Tools" (コマンドライン ツール) のように
のような
grep
などのコマンドラインツールを使ってソースコードを検索することができます)。 もっと気軽に見るには
を介してオンラインでソースを見ることができます。
Subversion サーバー
または
Winston Chang の github ミラー
(ここでのリンク先は特に
src/nmath/pnorm.c
). (正しい場所を推測する。
src/nmath/pnorm.c
という正しい場所を推測するには、Rのソースコードの構造にいくらか精通している必要があります)。
mean
と
sum
はどちらも
要約.c
.
関連
-
[解決済み] Rを再起動せずにパッケージをアンロードする方法
-
R - ユークリッド距離の計算を簡単にする方法
-
DEG解析で'row.names'に重複した名前を付けられない場合の解決法
-
[解決済み] グループ化関数(tapply、by、aggregate)と*applyファミリ
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] 非常に大きなテーブルをデータフレームとして高速に読み込む
-
[解決済み] 先頭と末尾の空白を削除するにはどうしたらよいですか?
-
[解決済み] ベクトル中のある要素のインデックスを求めるR関数はありますか?
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
-
[解決済み】geom_pointでポイントにラベルを付ける。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
二項演算子への非数値引数を報告するR言語エラー
-
R - よくあるエラーとその原因 - 注意事項
-
R言語における共通関数
-
[解決済み] データフレームを結合(マージ)する方法(内側、外側、左側、右側)
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] 空のdata.frameを作成する
-
[解決済み] データフレーム内の列を名前でドロップする方法
-
[解決済み] ggplot2 を使って 2 つの変数を同じグラフに線でプロットする
-
[解決済み】ifelse()でDateオブジェクトがnumericオブジェクトにならないようにする方法
-
[解決済み】set.seed関数を使用する理由