从R中的两个向量构造转移矩阵

时间:2016-10-03 06:25:17

标签: r

我正在尝试可视化流程的转换频率。我有以下数据>

from  to
1    4  
4    5
1    3
1    3
4    5
...

我要做的是创建这些过渡的频率矩阵的热图,所以对于上面的示例,

  1 3 4 5
1 0 2 1 0
3 0 0 0 0
4 0 0 0 2
5 0 0 0 0

在重新发明轮子之前,R中是否有任何预定义的功能,这可以给我这样的结果?

谢谢!

1 个答案:

答案 0 :(得分:-1)

试试这个:

df

  from to
1    1  4
2    4  5
3    1  3
4    1  3
5    4  5

df$count <- 1
df <- aggregate(count~from+to, data=df, sum)
nodes <- unique(c(df$from,df$to))
df1 <- merge(expand.grid(from=nodes, to=nodes), df, by=c('from','to'), all=TRUE)
df1$count[is.na(df1$count)] <- 0
library(reshape2)
dcast(df1, from~to, value.var = 'count')

  from 1 3 4 5
1    1 0 2 1 0
2    3 0 0 0 0
3    4 0 0 0 2
4    5 0 0 0 0