我正在尝试获取向量的成对乘积,例如
a = c(1,2,3,4)
我想要得到的是
2,3,4,6,8,12(按此顺序)。
我试过使用外部:
outer(1:4,2:4)
这给了我一个包含我想要的产品的矩阵,但我不确定如何从矩阵中提取它们以缩放到更高维度的向量。
谢谢!
我正在尝试获取向量的成对乘积,例如
a = c(1,2,3,4)
我想要得到的是
2,3,4,6,8,12(按此顺序)。
我试过使用外部:
outer(1:4,2:4)
这给了我一个包含我想要的产品的矩阵,但我不确定如何从矩阵中提取它们以缩放到更高维度的向量。
谢谢!
combn()
很适合这种事情:
a <- 1:4
combn(a, m = 2, FUN = prod)
# [1] 2 3 4 6 8 12
lower.tri
按顺序选择它们:
out <- outer(1:4,1:4)
out[lower.tri(out)]
# [1] 2 3 4 6 8 12