当使用类似?"function"
的东西在 RStudio 中打开帮助文档时,我们如何(轻松(获得这些帮助文档的网络版本?
目前,我寻找一个独特的句子,并用引号在谷歌上搜索它。例如,要找到?"function"
的网络版本,我用谷歌搜索了"These functions provide the base mechanisms for defining new functions in the R language."
- 但一定有更有效的东西吗?
在RStudio之外的R会话中,键入help.start()
,单击"搜索引擎和关键字"并搜索,例如,xtabs
结果是一个包含stats::xtabs
的列表;单击该链接会打开一个网址 http://127.0.0.1:18412/library/stats/html/xtabs.html。url 由本地主机http://127.0.0.1
、端口18412
和路径/library/stats/html/xtabs.html
组成。这是本地主机上的 http 请求这一事实意味着 R 正在运行本地 http 服务器(由help.start()
启动,也在启动时由 RStudio 启动(。
该端口可用(帮助服务器启动后(具有
> tools:::httpdPort()
[1] 18412
路径可以从
paths = as.character(help('xtabs'))
其中返回的路径指示哪些(当前加载的(包引用xtabs
以及可以使用 提取相关组件(库和术语(
pattern = paste0(R.home(), "(/library/[^/]+)/help(/.+)")
lib = sub(pattern, "\1", paths)
term = sub(pattern, "\2", paths)
因此,url可以构造为
:> url = paste0("http://127.0.0.1:", port, lib, "/html", term, ".html")
并以
例如browseURL(url)
这存在许多挑战,例如,当多个包定义要xtabs
的别名时(以便paths
和所有后续步骤具有多个元素(。
值得一提的是,默认情况下,各个帮助页面不直接通过 R 提供,而是由 Web 服务器动态创建的。 例如,请注意
> dir(R.home("library/stats/html"))
[1] "00Index.html" "R.css"
> browseURL(R.home("library/stats/html/00Index.html"))
显示索引页,但单击xtabs
链接会导致找不到 404 文件。当 R 和/或包与R CMD INSTALL --html ...
一起安装时,可以生成静态页
如果你想要一个从几个包中收集帮助文件并以某种方式组织它的网页,我想你正在寻找rdocumentation(dot(org。你只需在搜索栏中输入你想要的内容。
通常,当您安装软件包时,文档会存储在您的计算机中,这就是为什么没有包含所有软件包的网页的原因。它们存储在本地。
我认为互联网上没有任何其他地方可以做到这一点。