R中有一些类似以下形式的函数:
crossApply(v1, v2, func)
具有与以下相同的功能:
ret = c()
i = 1
for (e1 in v1) {
for (e2 in v2) {
ret[i] <- func(e1,e2)
i <- i + 1
}
}
return(ret)
提前致谢。
我想你可能正在寻找outer
这并不完全是你的代码所做的,但它很接近。具体来说,outer
将返回矩阵(即外积)或其前两个参数的元素的每个组合。
您可能想要存储结果,然后将下三角形提取为向量。也许是这样的:
rs <- outer(1:4,-(5:7),"+")
rs[lower.tri(rs,diag = TRUE)]
[1] -4 -3 -2 -1 -4 -3 -2 -4 -3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)