2017-02-15 19 views
0

功能是:为什么`R`中的`args()`不总是显示方法的基础?的<code>args()</code>

显示参数的名称和 功能的相应的默认值或原始

args(subset)只是为了举例打印:

> args(subset) 
function (x, ...) 
NULL 

为什么它有时可以起作用,有时不起作用?

+1

也许是因为它是通用的?尝试'args(subset.data.frame)',例如 –

+0

这些*是* subset的参数。您可以在控制台中输入“subset”并按回车键来查看。 – nrussell

+1

这里是一个密切的[相关文章](http://stackoverflow.com/questions/39348562/why-subset-doesnt-mind-missing-subset-argument-for-dataframes/39348718#39348718)。 – lmo

回答

3

功能args()是S3泛型方法

subset 
#function (x, ...) 
#UseMethod("subset") 
#<bytecode: 0x1ee3ee0> 
#<environment: namespace:base> 

所以,当你运行args(subset)你所得到的函数的参数 - 只要不是函数你想。

S3通用方法查看对象的类x并调度到另一个函数。要查看可用功能,请使用methods()

R> methods(subset) 
[1] subset.data.frame subset.default subset.matrix  
see '?methods' for accessing help and source code 
相关问题