我正在寻找一个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
有什么考虑吗?我不知道第一种表的名称是什么,如果有的话。谢谢!
答案 0 :(得分:0)
您可以使用xtabs
和as.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