从 R 中的向量创建矩阵

Creating a Matrix From a Vector in R

我有一个包含两列的向量,一列包含数值,一列包含名称。我是 R 的新手,但本质上我想获取一个向量并用它创建一个矩阵,其中矩阵中的值将加在一起。例如,当向量 A 的值为 1 且 B 的值为 1 时,在矩阵 A 和 B 的交点处,我希望这些值相加并变为 2。

我尝试过使用 for 循环,但我无法将参数放入循环中。任何帮助将不胜感激,如果没有意义,我很乐意澄清一些事情。

基本上我想要的是接受这个:
1
0
0
1
并把它变成这样:

1
2
3
4
5
   A   B   C   D
A      1   1   2
B  1       0   1
C  1   0       1
D  2   1   1

谢谢!


1
2
3
4
5
6
7
R > x <- c(1,0,0,1)
R > outer(x, x,"+")
     [,1] [,2] [,3] [,4]
[1,]    2    1    1    2
[2,]    1    0    0    1
[3,]    1    0    0    1
[4,]    2    1    1    2

接下来就是忽略对角线。文森特更新:

1
names(x) <- c("A","B","C","D")