我需要帮助将表转换为矩阵

时间:2017-11-30 13:10:44

标签: r dplyr

我正在寻找一个R算法来获取此表:

One Two  Value
  A   B   1002
  A   C   2312
  B   A   6543
  B   C    387
  C   A   9364
  C   B   8429

并将其转换为这种矩阵:

##       A     B     C
## A     0  6543  9364 
## B  1002     0  8429    
## C  2312   387     0

有什么考虑吗?我不知道第一种表的名称是什么,如果有的话。谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用xtabsas.data.frame从一个表示转到另一个表示。如果x是原始数据:

> xtabs(Value ~ Two + One, x)
   One
Two    A    B    C
  A    0 6543 9364
  B 1002    0 8429
  C 2312  387    0

> as.data.frame(xtabs(Value ~ Two + One, x), responseName = 'Value')
  Two One Value
1   A   A     0
2   B   A  1002
3   C   A  2312
4   A   B  6543
5   B   B     0
6   C   B   387
7   A   C  9364
8   B   C  8429
9   C   C     0