在R中,一个非常简洁的功能是函数的源代码可以作为工作区中的对象访问。
因此,如果我想知道例如grep()
的源代码,我只需在控制台中键入grep
并阅读代码。
同样,我可以通过在控制台中输入grep
来阅读?grep
的文档。
问题:如何获取函数文档的源代码?换句话说,我在哪里可以找到.rd文件?
我发现研究精心编写的代码的来源是学习习语的绝佳方法。现在我想研究如何为一些非常具体的案例编写文档。我无法在R安装中找到任何基本R功能的文档文件。也许我一直在寻找错误的地方。
答案 0 :(得分:28)
您似乎可以从已安装的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")