【问题标题】:Finding a function of a specific package in RStudio help pane在 RStudio 帮助窗格中查找特定包的功能
【发布时间】:2018-05-23 09:59:50
【问题描述】:

有没有办法在 RStudio 的帮助面板中访问特定包的功能?

假设我想从dplyr 包中查找count()

  • 在 RStudio 的帮助窗格中查找 count 会导致搜索结果的巨大列表。此搜索等效于控制台中的??count
  • 在控制台中,我可以写?dplyr::count。 RStudio 的帮助窗格中是否有等效项?

【问题讨论】:

  • F1 怎么样?在控制台中写count,然后按F1
  • 这仅在代码完成可以选择正确的包时有效。它不起作用,例如加载 dplyr 然后尝试从 statspackage 查找 filter() 因为 dplyr 屏蔽它。
  • 它显示了软件包中已安装的所有功能。它们不必加载,但它不会从尚未安装的包中找到功能。
  • 如果该功能被另一个包屏蔽,您将看不到它。即使安装了这两个包:stats 默认在启动时加载,但你看不到它在控制台中输入filter 时也加载了dplyr

标签: r rstudio


【解决方案1】:

RStudio 帮助面板

今天,RStudio java 代码帮助窗口(见->HelpPane.java:364)不支持搜索特定包上下文的能力。可以,但需要修改HelpSearch.java:67

./rstudio/src/gwt/src/org/rstudio/studio/client/workbench/views/help

./HelpPane.java:364:
toolbar.addRightWidget(searchProvider_.get().getSearchWidget());
./search/HelpSearch.java:67:
public Widget getSearchWidget()

RStudio

今天,在 RStudio 中,您可以通过 R 控制台进行帮助查找,并将结果反映在 RStudio 帮助窗口中。解决方法是在 R 控制台中键入 ?dplyr::count 并将其反映在 RStudio 帮助窗口中。

我希望以上信息有用,并为您指明正确的方向。我的感觉是您需要请求或更改 RStudio 窗口行为。


R 帮助观察:

如果您希望在包中查找特定函数,可以使用以下语法:

help(count, package="dplyr")

就个人而言,我还建议使用添加了???sos 库,这可以访问findfn()???,这使您可以访问RSiteSearch() 并在所有CRAN 库中搜索一个函数。

> require(sos)
> 
> ???count
found 7174 matches;  retrieving 20 pages, 400 matches.
2 3 4 5 6 7 8 9 10 
11 12 13 14 15 16 17 18 19 20 

Downloaded 399 links in 244 packages. 

R 文档中引用了上述语法。 https://www.r-project.org/help.html

R 帮助:help() 和 ?​​h3>

R 中的 help() 函数和 ? 帮助运算符提供对 R 函数、数据集和其他对象的文档页面的访问,包括标准 R 发行版中的包和贡献的包。例如,要访问标准 lm(线性模型)函数的文档,请输入命令 help(lm)help("lm"),或 ?lm?"lm"(即,引号是可选的)。

要访问当前未加载的包中函数的帮助,请另外指定包的名称:例如,要获取rlm()(稳健线性模型)函数的文档MASS 包,help(rlm, package="MASS")

R 中的标准名称由大小写字母、数字 (0-9)、下划线 (_) 和句点 (.) 组成,并且必须以字母或句点开头。要获得具有非标准名称的对象的帮助(例如帮助运算符 ?),必须引用该名称:例如,help('?')?"?"

您还可以使用 help() 函数来访问有关您的库中某个包的信息——例如,help(package="MASS")——它会显示该包的可用帮助页面的索引以及一些其他信息。

函数的帮助页面通常包含一个部分,其中包含说明函数如何工作的可执行示例。您可以通过example() 命令在当前 R 会话中执行这些示例:例如,example(lm)

【讨论】:

  • 您的回答确实很有用,并解释了许多我不知道的细节。所以我投了赞成票。 – 但它没有回答我的问题:“RStudio 的帮助窗格中是否有等价物?”
  • @petzi 在这里要明确一点,您想将 '?dplyr::count' 映射到 'help(count, package="dplyr")' 吗?我问,从我的角度来看,我会使用 'help(count, package="dplyr")' 来获得所需的帮助。听起来您想扩展速记“?”在库中搜索函数。所以我知道没有标准的方法,但我可以看到你可以如何修改帮助'?功能来做到这一点。 ——
  • 我想将 '?dplyr::count' 映射到 RStudio 本身帮助窗格中的命令。目前,据我所知,您无法一步完成。您必须在包窗格中输入dplyr,选择它,然后才能输入count。 -- 我希望在 RStudio 窗格中找到单个命令的方法的原因:我发现更改窗格或向下滚动包含所有提到 count 的包的列表很不方便。
  • @petzi - 我查看了 RStudio 代码,看看这是否是一个快速修复。要执行您在 RStudio 帮助窗口中建议的操作,需要对 RStudio 进行代码更改。今天,通过将帮助请求从控制台传送到帮助窗格来支持该功能。
  • 我认为这解决了我的问题。即使这不是我希望的解决方案,我现在知道我必须向 RStudio 开发人员提出功能请求。 -- 诚然,user2554330 是第一个声称如果不更改 RStudio 就无法完成的人,只有您通过查看 RStudio 代码说服了我。所以我认为给你赏金是公平的。
【解决方案2】:

据我所知,没有什么完全等同于 ?dplyr::count(当然,如果你真的需要它,你可以在控制台中输入它)。

某种接近的方法是获取任何dplyr 帮助页面(例如,通过搜索"dplyr"),然后转到页面底部,然后单击Index。或者,转到Packages,然后向下滚动到dplyr;点击那里让你到同一个地方。这是所有dplyr 帮助主题的列表;向下滚动(或使用字母索引)以到达 count

【讨论】:

  • 我不是专家,但我不明白以下内容:如果您可以使用例如调用正确的帮助页面。来自控制台的?dplyr::count 为什么您也不能从帮助页面调用它?我认为需要一些正则表达式。
  • 我不认为我理解你的问题,但如果我理解了,答案是帮助页面没有任何方式来执行用户生成的 R 代码。没有什么可以阻止 RStudio 添加此功能,但我们已经有控制台,所以这样做没有意义。
  • 原因是:要在 RStudio 的帮助窗格中仅使用一个命令来限制搜索——而不是先调用包,向下滚动并单击“索引”链接或不断更改您的注意力从一个窗格到另一个窗格。也许没有人知道解决方案和/或真的没有,那么你的答案是最正确的,我会给你赏金。 -- 所以让我们再等几天。
【解决方案3】:

Help home,然后是 Packages,然后是 dplyr,然后是 count。

【讨论】:

    猜你喜欢
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    相关资源
    最近更新 更多