代码之家  ›  专栏  ›  技术社区  ›  stevec Zxeenu

如何在R中查看类方法的可用参数和文档?

r
  •  0
  • stevec Zxeenu  · 技术社区  · 4 年前

    如何查看类方法的所有可用参数(或更一般地查看文档)?

    例如,如果我们看 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 .

    现在假设我们打电话来 打印() 在某种程度上 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 xml_nodeset print(a) ,它打印出来了 只有20个结果 ,这是因为(我认为)xml\u nodeset类被配置为 print can be changed via the max_n parameter ).

    我们如何找到有关 打印 在类的对象上调用时的行为 ? (最好通过RStudio/手册)

    注意上面的例子只是一个随机的例子,我想找到一个寻找所有类方法文档的一般方法

    1 回复  |  直到 4 年前
        1
  •  1
  •   MrFlick    4 年前

    您可以通过运行 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