我正在尝试可视化流程的转换频率。我有以下数据>
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中是否有任何预定义的功能,这可以给我这样的结果?
谢谢!
答案 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