次のMyFun
(ユーザー定義の)関数を使用して、観測をシミュレートできます。replicate
しかし、関数が出力のリストを返すときに、関数でこの関数を繰り返す方法を理解できませんでした。
MyFun <- function(nSim, Size, Prob) {
M1 <- t(mapply(rbinom, prob = Prob, n = nSim, size = Size))
dimnames(M1) <- list(Prob, paste0("V", 1:nSim))
MeanM1 <- M1/Size
Results1 <- list(M1, MeanM1)
return(Results1)
}
MyFun(nSim=5, Size=4, Prob=c(0.2, 0.4))
[[1]]
V1 V2 V3 V4 V5
0.2 2 2 1 2 1
0.4 2 3 0 3 1
[[2]]
V1 V2 V3 V4 V5
0.2 0.5 0.50 0.25 0.50 0.25
0.4 0.5 0.75 0.00 0.75 0.25
しかし、関数で望ましい結果が得られませんreplicate
。
replicate(
n=2
, MyFun(nSim=5, Size=2, Prob=c(0.2, 0.4))
, simplify = "array"
)
[,1] [,2]
[1,] Integer,10 Integer,10
[2,] Numeric,10 Numeric,10