【发布时间】:2020-03-07 12:08:19
【问题描述】:
我有两个矩阵,一个具有感兴趣的值,另一个具有对应于第一个列的索引。下面的代码可以满足我的要求,但它需要在更大的矩阵上运行很多次。我的直觉告诉我,可能有更快的方法来实现这一点,所以任何想法都会受到赞赏。
set.seed(0)
y = matrix(runif(20), 4, 5)
idx = matrix(sample(1:5, 12, replace = T), 4, 3)
z = lapply(1:nrow(y), function(i) y[i, idx[i,]])
z = do.call(rbind, z)
【问题讨论】: