是否有某种方法可以访问replicate
函数中的当前复制数,以便在重复评估中将其用作变量?例如,在这个简单的例子中,我想使用当前复制数来生成当前复制数的可变长度向量列表。例如,下面的x
代表当前的复制:
replicate( 3 , rep( x , sample.int(5,1) ) )
我知道这个简单的例子很容易用lapply
lapply( 1:3 , function(x) rep( x , sample.int(5,1) ) )
但您可以访问replicate
中的复制计数器吗?
答案 0 :(得分:2)
不,至少不是以受支持的,用户友好的方式。正如阿伦所说:
> replicate
function (n, expr, simplify = "array")
sapply(integer(n), eval.parent(substitute(function(...) expr)),
simplify = simplify)
...
> sapply
function (X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)
{
FUN <- match.fun(FUN)
answer <- lapply(X = X, FUN = FUN, ...)
...
现在,如果您通过sapply
:
3
看到的内容
> integer(3)
[1] 0 0 0
为什么不编写自己的replicate
版本作为快捷方式?