首頁>Program>source

在R中,一个非常簡潔的功能是函式的源代碼可以作為工作空間中的物件进行訪問。

因此,如果我想知道例如 grep()的源代碼 我可以簡單地輸入 grep 进入控製台並阅讀代碼。

類似地,我可以阅讀 grep的文件 通過輸入 ?grep 进入控製台。

Question: How can I get the source code for the documentation of a function? In other words, where do I find the .rd files?

我發現研究寫得好的代碼的来源是學習成語的绝佳方法.現在,我想研究如何為一些非常特殊的情况編寫文件.我在R安裝中找不到任何基本R功能的文件檔案.

最新回復
  • 12天前
    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")
    

  • arrays:jQuery inArray()始终為真吗?
  • c++:如何使用boost預處理器生成訪問器?