4

関数で現在のレプリケーション番号にアクセスしてreplicate、繰り返し評価で変数として使用できる方法はありますか? たとえば、この簡単な例では、現在の複製数を使用して、現在の複製数の可変長ベクトルのリストを生成したいと考えています。たとえば、x以下は現在のレプリケートを表します。

replicate( 3 , rep( x , sample.int(5,1) ) )

この些細な例は簡単に実行できることを知っていますlapply

lapply( 1:3 , function(x) rep( x , sample.int(5,1) ) )

しかし、でレプリケーション カウンターにアクセスできますreplicateか?

4

1 に答える 1

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ショートカットとして使用する独自のバージョンを作成してみませんか?

于 2013-04-11T14:01:40.853 に答える