在 R 中,一个非常巧妙的功能是函数的源代码可以作为工作区中的对象进行访问。
因此,如果我想知道 grep()
的源代码,我只需在控制台中输入 grep
并读取代码即可。
同样,我可以通过在控制台中输入 ?grep
来阅读 grep
的文档。
问题:如何获取函数文档的源代码?换句话说,我在哪里可以找到 .rd 文件?
我发现研究编写良好的代码的源代码是学习习惯用法的绝佳方法。现在我想研究如何为一些非常具体的案例编写文档。我无法在 R 安装中找到任何基本 R 函数的文档文件。也许我一直在找错地方。
最佳答案
看来你可以从已安装的 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")
关于r - 如何访问 R 中的帮助/文档 .rd 源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7495685/