Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 复制时如何重新生成新矩阵_R_Loops_Replicate - Fatal编程技术网

R 复制时如何重新生成新矩阵

R 复制时如何重新生成新矩阵,r,loops,replicate,R,Loops,Replicate,我有以下脚本: 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 <- roun

我有以下脚本:

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仅仅因为
sz
出现在
randomdiv
中,并不意味着
randomdiv
将在
复制
sz
时被调用。它将是
globalenv()
中的任何值。不会调用该函数。您应该从
randomdiv
返回
sz
,并从
replicate
调用
randomdiv
。我理解您的观点,但我特别尝试将这种函数写入脚本中,因此当我点击
randomdiv()时
它将返回矩阵的一个副本,从中我可以直接进行统计分析。关键是我必须改变
大小
精度
进行分析,因此如果我无法让脚本返回复制矩阵,我必须对矩阵的每个组合进行向量化,然后使用它们。这意味着它仍然不是随机生成的,并且在代码中添加了大量额外的行。