为什么形式函数在用参数定义的函数上返回NULL?

时间:2019-05-12 06:30:53

标签: r

从基本 R 开始,形式函数应授予访问权限并允许对形式参数进行操作。 那么,为什么在某些用经典参数定义的函数上返回 NULL 呢?

> ls
function (name, pos = -1L, envir = as.environment(pos), all.names = FALSE, 
    pattern, sorted = TRUE) 
{ ...

> formals(ls)
$name


$pos
-1L

$envir
as.environment(pos)

$all.names
[1] FALSE

$pattern


$sorted
[1] TRUE


> sum
function (..., na.rm = FALSE)  .Primitive("sum")
> formals(sum)
NULL

我希望formals(sum)提供一个长度为两个列表的结果,而不是 NULL

1 个答案:

答案 0 :(得分:2)

从功能上看,您选择的功能存在问题。原始函数有些不同,它们的参数列表可能有一些名称,但是它们的参数传递给C代码,并且formals()body()environment()都返回NULL。请改为使用apply