2017-04-17 52 views
0

我想查看R包中可用命令的列表,理想情况下输出到控制台。在RStudio中,我可以键入一个包的名称,后跟两个冒号(例如ggplot2::),RStudio的GUI会弹出一个可用命令列表。这是一个列表吗?即使如此,我无法将它输出到控制台,并且它在vanilla R中不起作用。任何替代方法?如何获取R包中每个命令的列表?

+1

顺便说一句,您可以通过键入ggplot ::然后完成打字获得在R GUI,它的输出。 – G5W

+1

它们不是命令,它们是导出的对象。他们可能是功能或数据。 – Spacedman

+0

@ G5W好的提示!虽然它会截断结果。也许有一种方法可以修改设置,所以它不会。 – coip

回答

2
> require(ggplot2) 

然后

> ls("package:ggplot2") 
    [1] "%+%"      "aes"      
    [3] "aes_"      "aes_all"     
    [5] "aes_auto"     "aes_q"      
    [7] "aes_string"    "alpha"      
    [9] "annotate"     "annotation_custom" 
    [etc] 

您还可以使用ls()与搜索列表中的位置,例如

> ls(pos=2) 

search()获取搜索列表。

2

这将获得特定包中的所有功能。这里的所有功能tidyr:

objs <- mget(ls("package:tidyr"), inherits = TRUE) 
funs <- Filter(is.function, objs) 
+1

你想把'names()'应用到'funs'吗? – G5W

+1

如果你只想要名字,当然! – svenhalvorson

+0

这是一个非常整洁的解决方案,因为正如@ G5W指出的那样,您可以将'funs'对象包装在'names()'中以获取名称,但是如果您想单独查看每个函数的内容,返回'funs'。 – coip

相关问题