【发布时间】:2016-10-19 19:02:06
【问题描述】:
假设我有一个数字matrix:
set.seed(1)
mat <- matrix(rnorm(1000), ncol = 100)
我想生成所有向量,它们是 mat 中所有唯一向量对的元素乘积的结果。
我们如何改进以下代码:
all.pairs <- t(combn(1:ncol(mat), 2))
res <-
do.call(cbind,
lapply(1:nrow(all.pairs),
function(p) mat[, all.pairs[p, 1]] * mat[, all.pairs[p, 2]]))
【问题讨论】: