Я пытаюсь создать матрицу из 0, 1 и 2. Давайте назовем этот набор данных A таким, что A[i,j] ~ Binomial(2, P[i,j])
, где P
- это другая матрица, которая дает вероятности каждой записи в A
. Таким образом, каждая запись в матрице A
будет биномиально распределена согласно соответствующей записи вероятности в матрице P
. Следующее дает цикл for, который иллюстрирует то, что я хочу, но это действительно медленно в R, поэтому я подумал, знает ли кто-нибудь, как я могу сделать это с помощью функции apply
? И P, и A являются m * n матрицами.
for (i in 1:m) {
for (j in 1:n) {
a[i,j] = rbinom(n = 1, size = 2, prob = p[i,j])
}
}