R のヘルプ/ドキュメント .rd ソース ファイルにアクセスするにはどうすればいいですか? 質問する

R のヘルプ/ドキュメント .rd ソース ファイルにアクセスするにはどうすればいいですか? 質問する

R の非常に優れた機能の 1 つは、関数のソース コードがワークスペース内のオブジェクトとしてアクセスできることです。

したがって、たとえば のソース コードを知りたい場合は、コンソールにgrep()入力してコードを読み取るだけです。grep

同様に、コンソールにgrep入力してドキュメントを読むこともできます。?grep

質問: 関数のドキュメントのソース コードを入手するにはどうすればよいですか? つまり、.rd ファイルはどこにありますか?

よく書かれたコードのソースを研究することは、イディオムを学ぶ優れた方法だと私は思います。今、私はいくつかの非常に特殊なケースのドキュメントの書き方を研究したいと思っています。私の R インストールでは、どの基本 R 関数のドキュメント ファイルも見つけることができませんでした。おそらく間違った場所を探していたのでしょう。

ベストアンサー1

インストールされた R から Rd ソースを抽出できるようです。私は R-devel (2011-09-05 r56942) を使用しています。

ベース パッケージの Rd のデータベースを取得します。

library(tools)
db <- Rd_db("base")

Rd DB の名前で「grep.Rd」を検索します。例:

grep("grep.Rd", names(db), value = TRUE)
[1] "d:/murdoch/recent/R64/src/library/base/man/agrep.Rd"
[2] "d:/murdoch/recent/R64/src/library/base/man/grep.Rd" 

grep の Rd オブジェクトのみを取得します。

db[grep("/grep.Rd", names(db))]
$`d:/murdoch/recent/R64/src/library/base/man/grep.Rd`
\title{Pattern Matching and Replacement}
\name{grep}
\alias{grep}
\alias{grepl}
\alias{sub}
\alias{gsub}
\alias{regexpr}
\alias{gregexpr}
\alias{regexec}
\keyword{character}
\keyword{utilities}
\description{
\code{grep}, \code{grepl}, \code{regexpr} and \code{gregexpr} search
for matches to argument \code{pattern} within each element of a
character vector: they differ in the format of and amount of detail in
the results.

\code{sub} and \code{gsub} perform replacement of the first and all
matches respectively.
}\usage{
...
...

Rd オブジェクトからコンポーネントを取得するためのツールがあるので、キーワードや名前で検索を絞り込むことができます。?Rd_db の例を参照して、これを試してください。

lapply(db, tools:::.Rd_get_metadata, "name")

おすすめ記事