我想将R包的文档打印到控制台。正在做什么
utils:::.getHelpFile(help("print"))
效果很好,但当我试着
utils:::.getHelpFile(help(package="MASS"))
我收到一个错误声明:
Error in dirname(file) : a character vector argument expected
因此,我的问题是:如何将R包(即help(package="package_name")
)的文档打印到控制台?提前谢谢。
发布于 2015-08-15 11:36:06
help(package = "MASS")
会带您到在浏览器窗口中打开的海量包的索引文件(取决于您的设置)。要将该文件读入控制台,我们可以使用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")
发布于 2015-08-15 14:11:46
utils:::.getHelpFile(help(package="MASS"))
无法工作,因为help(pacakge="MASS")
返回一个packageInfo
类对象,而不是一个help_files_with_topic
类对象(它是一个带有其他属性的完整文件路径)。
我能想到的最简单的事情是:
cat(paste(format(help(package="MASS", help_type="text")), collapse="\n"),"\n")
基本上,您可以format
来自help(package="MASS")
的输出。然后,生成一个字符串的paste
,用换行符折叠在一起。然后对结果调用cat
。
https://stackoverflow.com/questions/32028291
复制