2016-04-04 2 views
0

Мне нравится рисовать nrep раз из биномиального распределения с параметром theta, чтобы создать одну длину последовательности k для каждой тета и построить их в матричном размере nrep x k. Как создать матрицу результатов в R?Имитировать случайную биномиальную последовательность над n репликациями в R

Код ниже рисует (nrep * k) каждый из другой последовательности theta i.e не является длиной k от той же самой тета. [Моя цель состоит в том, чтобы привлечь раз превышает СМЭТ биномиальной вероятности длины тета к.]

### simulate some binary sequence data in matrix ted (1000 x 20) 
nrep <- 1000 
s <- 7; k <- 20 
theta <- rbeta(nrep, shape1=s+1, shape2=k-s+1) 

ted <- 0 
ted <- matrix(rbinom(k * nrep, 1, theta), ncol = k, nrow = nrep) 
hist(ted) 

ответ

0

rbinom является векторизация над параметром prob, так что вы можете использовать rep(theta, k) для достижения

ted <- matrix(rbinom(k * nrep, 1, rep(theta, k)), ncol = k, nrow = nrep) 
+0

это отличное решение – rrg

+0

@ rrg, вы все еще ищете более эффективное или какое-то другое решение? В противном случае принятие ответа и, возможно, его выработка было бы уместным. – Julius

Смежные вопросы