r - 如何查看 R 中类方法的可用参数和文档?
问题描述
我们如何查看类方法的所有可用参数(或更一般地查看文档)?
例如,如果我们查看参数print()
?print
x
an object used to select a method.
...
further arguments passed to or from other methods.
quote
logical, indicating whether or not strings should be printed with surrounding quotes.
-- leaving others out for brevity --
useSource
logical indicating if internally stored source should be used for printing when present, e.g., if options(keep.source = TRUE) has been in use.
请注意,我们没有看到有关参数的任何文档max_n
。
现在假设我们调用print()
一些 class xml_nodes
,例如:
library(rvest)
library(dplyr)
# Generate an object of class xml_nodes
a <- rep("<p></p>", 30) %>%
paste0(collapse="") %>%
read_html %>%
html_nodes("p")
class(a)
# [1] "xml_nodeset"
a
属于 class xml_nodeset
,如果我们调用print(a)
,它只打印20 个 results,那是因为(我认为) xml_nodeset 类被配置为当print
被调用时,它只会返回 20 个结果。(“20”数字可以通过max_n
参数更改)。
我们如何找到在print
类对象上调用时行为方式的具体文档xml_nodeset
?(最好通过 RStudio/手册)
请注意,上面的示例只是一个随机示例,我想找到一种通用方法来查找所有类方法的文档
解决方案
您可以通过运行查看所有“特殊”版本的 print methods(print)
。这些版本通常采用<function name>.<class name>
. 那里列出的许多都有星号,这意味着它们不是直接从定义它们的包中导出的。如果他们有文档,您可以通过?print.rle
例如访问它。在这种情况下,没有该print.xml_nodeset
函数的文档。但是,如果您这样做,getAnywhere(print.xml_nodeset)
或者如果您碰巧知道它来自xml2
命名空间,您可以查看它,您可以这样做xml2:::print.xml_nodeset
(使用三个冒号)。
还有一个sloop
包可以告诉您对于给定的调用将调用哪个 S3 方法。例如
sloop::s3_dispatch(print(a))
=> print.xml_nodeset
* print.default
您可以向包维护者提出问题,要求提供该函数的文档,但如果作者没有包含它,R 就无法真正为您提供文档。
推荐阅读
- bash - 有没有办法在选择案例后重新运行 bash 脚本?
- sql - 在 Graphql 中查询数组
- php - `brew list`中的php@7.2中的@是什么意思
- dotnetbrowser - 如何从 DotNetBrowser 中的请求访问有效负载数据
- javascript - XMLHttpRequest POST _self 使用 localStorage 和 PHP
- mysql - GROUP BY 返回多于一行 MYSQL
- c# - 多线程环境中的事件
- python - 使用 beautifulsoup 替换表格内容
- selenium - 在 selenium-cucumber-js 中如何运行无头测试
- html - 放置在链接之间时,Img 出现乱序