我有一个稀疏矩阵
Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
..@ i : int [1:37674] 1836 2297 108 472 1735 1899 2129 2131 5 67 ...
..@ p : int [1:3417] 0 2 8 22 25 35 44 45 45 47 ...
..@ Dim : int [1:2] 3416 3416
..@ Dimnames:List of 2
.. ..$ : chr [1:3416] "AAA" "AAE" "AAL" "AAN" ...
.. ..$ : chr [1:3416] "AAA" "AAE" "AAL" "AAN" ...
..@ x : num [1:37674] 1 1 1 1 1 1 1 1 1 1 ...
..@ factors : list()
除了使用 for 循环
之外,快速将此矩阵转换为列表的方法是什么?
Origin Destination Weight
AAA AAE 4
AAL AAN 5
注意:我只需要获取重量大于零的起点和终点。
library(reshape2); dcast(Origin ~ Destination, data = dat, subset = Weight != 0)
- Chase