如何要求R逐列编译矩阵?
我试图生成一个矩阵如何要求R逐列编译矩阵?,r,loops,matrix,R,Loops,Matrix,我试图生成一个矩阵sz,首先应用一个二项式,然后从pombe\u new\u subs的相应列中添加值,然后将该组合值作为size输入下一列 在经历了许多挫折之后,下面的代码是我最终得到的,但它不起作用——我遇到的问题是 # Error in sz[j, i + 1] = sz[, i] + pombe_new_subs[, i] : # number of items to replace is not a multiple of replacement length pombe_new_
sz
,首先应用一个二项式,然后从pombe\u new\u subs
的相应列中添加值,然后将该组合值作为size
输入下一列
在经历了许多挫折之后,下面的代码是我最终得到的,但它不起作用——我遇到的问题是
# Error in sz[j, i + 1] = sz[, i] + pombe_new_subs[, i] :
# number of items to replace is not a multiple of replacement length
pombe_new_subs <- rmultinom(3, 15, prob = c(0.3, 0.3, 0.3))
randomdiv <- function(nchrom, ndivs, size) {
sz <- matrix(nrow = nchrom, ncol = ndivs)
for (j in 1:nchrom) {
n <- size
for (i in 1:ndivs) {
n <- rbinom(1, n, 0.5)
sz[j,i] <- n
}
sz[j,i+1] = sz[ ,i] + pombe_new_subs[ ,i]
sz[j, i+1] <- n
}
return (sz)
}
randomdiv(3, 3, 10)
#sz[j,i+1]中的错误=sz[,i]+pombe_new_subs[,i]:
#要替换的项目数不是替换长度的倍数
我想你可能想尝试缩进你的代码,你也可以考虑让你的例子具有可重复性。我想我已经缩进了它“弗兰克”。我做了一些小的调整,这意味着如果您键入randomdiv(3,3,10)
@Heroka@Jordan这可能很有用:如何创建一个。您的代码应该能够在新的会话中运行并产生所描述的错误,而不必对变量或函数的调用方式进行假设。@Frank感谢您演示缩进的含义,我以后会记得的!