将缺少的参数传递给R函数rep的逻辑

时间:2014-01-27 11:34:12

标签: r

以下R功能

tmp <- function(p)
        rep(0, length.out = p)

让我感到困惑,因为

> tmp()
[1] 0

我希望通话中出现错误,因为p丢失了。 rep的文档说明了

函数rep是一个原语,但参数名称的(部分)匹配与普通函数一样。您不能再将缺失的参数传递给例如length.out。

我不明白这里的逻辑。为什么rep似乎忽略p缺失?

R版本3.0.2(2013-09-25)

1 个答案:

答案 0 :(得分:5)

在文档中,我看到:

  

默认行为就像呼叫是

一样      

rep(x,times = 1,length.out = NA,每个= 1)

但它不适用于需要时间参数的rep.int

>rep(0,)
[1] 0

>rep.int(0,)
Error in rep.int(0, ) : argument "times" is missing, with no default