我有一个长度为K Y
创建尺寸为N x S的新矩阵Z
。
我还有另一个向量n.positive
,其长度为S。n.positive[s]
告诉我Z
中有多少个值要插入矩阵Y
的行s中(其余项为零)。因此,sum(n.positive)
等于K。
我想在R中这样做。
例如,
y <- matrix(rep(0, N*S), nrow=S)
n.pos <- rbinom(S, N, theta)
Z <- rnorm(sum(n.pos))
答案 0 :(得分:-1)
row.idx <- unlist(lapply(1:length(n.pos), function(x) rep(x, n.pos[x])))
col.idx <- unlist(lapply(n.pos, function(x) seq_len(x)))
y[row.idx + nrow(y) * (col.idx - 1)] <- Z