将矢量中的每个元素自身相乘以创建矩阵

时间:2014-03-06 00:34:08

标签: r matrix multiplication

我试图将矢量中的每个元素相乘,以便生成一个关于对角线对称的矩阵。例如,给定此向量::

x <- 1:3

我想创建这个:

1 2 3  
2 4 6 
3 6 9  

即:

x[1]*x[1] x[2]*x[1] x[3]*x[1]  
x[1]*x[2] x[2]*x[2] x[3]*x[2] 
x[1]*x[3] x[2]*x[3] x[3]*x[3] 

非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:10)

像这样:

x %o% x

这是

的快捷方式
outer(x, x)

您也可以

 tcrossprod(x)