У меня есть сценарий, который генерирует матрицу с помощью биномиальной функции:регенерации матрицы R
randomdiv <- function(ncells, ndivs, size) { sz <- matrix(nrow = ncells, ncol = ndivs)
#avsz <- vector(length =ndivs)
#sdsz <- vector(length =ndivs)
#count <- vector(length = ndivs)
#loss <- vector(length = ndivs)
for (j in 1:ncells) {
n <- size
for (i in 1:ndivs)
{
n <- rbinom (1, n, 0.5)
n <- 2 * n
sz[j,i] <- n
}
}
return (sz)
}
randomdiv(20,20, 20)
мне нужно генерировать эту матрицу в 20 раз, каждый раз генерировать новые значения в соответствии с заранее определенной биномиальной функции.
я первоначально vectorised как таковой:
mean20 <- randomdiv(20, 20, 20)
Но это маркирует определенную матрицу, как «mean20», так что если я бегу mean20 несколько раз, одинаковые матрицы производятся - мне нужен скрипт для запуска свежие для каждой матрицы.
Даже без векторизации матрицы inital следующий код не сообщает R, чтобы каждый раз регенерировать матрицу, а не матрицу из столбцов для 20 матриц, это создает средство столбца для одной матрицы и повторяет их для 20 столбцов.
mean20 <- round(matrix(data=colMeans(randomdiv(20, 20, 20)), nrow=20, ncol=20))
Любые идеи, как я говорю R, что я хочу, чтобы средства столбцов из 20 матриц были скомпилированы в одну матрицу?
Спасибо!
Просьба работать кода, четкое объяснение того, что вы пытаетесь сделать, и ваш желаемый результат. – nicola
Как уже отмечалось, ваш код не работает. Или, может быть, более точное описание заключается в том, что ваша запись неполна. –
Я думал, что включил все, что нужно, чтобы быть функциональным извините - я отредактировал его, и я думаю, что теперь он должен работать – Jordan