R pairwise product

安稳与你 提交于 2019-12-01 17:34:20

问题


I'm trying to get the pairwise products of a vector, say

a = c(1,2,3,4)

What I'm trying to get is

2,3,4,6,8,12 (in that order).

I've tried using outer:

outer(1:4,2:4)

and that gives me a matrix that includes the products I want but I'm not sure how to extract them from the matrix in a way that scales to vectors of higher dimensions.

Thanks!


回答1:


combn() is nice for this sort of thing:

a <- 1:4

combn(a, m = 2, FUN = prod) 
# [1]  2  3  4  6  8 12



回答2:


lower.tri selects them in that order:

out <- outer(1:4,1:4)
out[lower.tri(out)]
# [1]  2  3  4  6  8 12


来源:https://stackoverflow.com/questions/18899332/r-pairwise-product

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!