Я могу использовать следующую функцию MyFun
(пользовательская) для имитации наблюдений. Но не удалось выяснить, как повторить эту функцию с помощью функции replicate
, когда функция возвращает список результатов. Любая помощь будет высоко оценена. БлагодаряИспользование репликации для пользователя define fuction, содержащий mapply и список результатов
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
Возможно, просто 'lapply (1: 2, function (x) MyFun (nSim = 5, Size = 4, Prob = c (0.2, 0.4)))'? –
Я ответил, но теперь я понимаю ... как возможно, что выход является функцией, является матрицей, в которой каждый элемент является самой матрицей? – SabDeM