我有以下脚本:
randomdiv <- function(ncells, ndivs, size, accuracy) { sz <- matrix(nrow = ncells, ncol = ndivs)
for (j in 1:ncells) {
total_subunits <- size
for (i in 1:ndivs)
{
accurate_subunits <- (size * accuracy)
random_subunits <- round(size - accurate_subunits)
random_inh <- rbinom(1, random_subunits, 0.5)
accurate_inh <- (accurate_subunits / 2)
total_inh <- 2 * (random_inh + accurate_inh)
sz[j,i] <- total_inh
total_subunits <- total_inh
}
}
return (do.call(rbind, replicate(100, sz, simplify = FALSE)))
}
这样我认为randomdiv(5, 20, 10, 0)
会返回一个包含 500 行的矩阵,其中原始sz
矩阵已被复制 100 次。事实上,情况就是这样。但是,复制是相同的,而不是每个复制都是新一代的数据,这正是我所需要的。
有什么想法可以确保每个复制品都是一个新矩阵,而不是字面上要生成的第一个复制品吗?