将R包函数索引打印到控制台

时间:2015-08-15 19:05:17

标签: r

我想将R包的文档打印到控制台。做

utils:::.getHelpFile(help("print"))

工作得很好,但是当我尝试

utils:::.getHelpFile(help(package="MASS"))

我收到错误声明:

Error in dirname(file) : a character vector argument expected

所以我的问题是:如何将R包的文档(即help(package="package_name"))打印到控制台?提前致谢。

1 个答案:

答案 0 :(得分:7)

help(package = "MASS")将您转到 MASS 包的 INDEX 文件,在浏览器窗口中打开(取决于您的设置)。要将该文件读入控制台,我们可以使用system.file()获取文件路径,然后使用readLines()将其作为字符向量读取。

## get the complete file path for the index file of the MASS package
f <- system.file("INDEX", package = "MASS")
## read it
readLines(f)
# [1] "Functions:"                                  
# [2] "========="
# [3] ""
# [4] "Null                    Null Spaces of Matrices"
# [5] "addterm                 Try All One-Term Additions to a Model"
# [6] "anova.negbin            Likelihood Ratio Tests for Negative Binomial GLMs"
# ...
# ...

或者我们可以将其包装在cat()中以获得更清晰的版本

cat(readLines(f), sep = "\n")
# Functions:
# =========
#
# Null                    Null Spaces of Matrices
# addterm                 Try All One-Term Additions to a Model
# anova.negbin            Likelihood Ratio Tests for Negative Binomial GLMs
# ...
# ...

或者,您可以使用

获得相同的结果
readLines(file.path(find.package("MASS"), "INDEX"))

最后,如果您想知道html浏览器顶部显示的包描述和新闻的链接,可以使用

获取这些链接。
packageDescription("MASS")
news(package = "MASS")