在R

时间:2018-10-11 18:13:22

标签: r algorithm matrix data-structures reshape

我有一个长度为K Z,其中包含所有非零值。我想从向量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))

1 个答案:

答案 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