2016-10-03 94 views
-2

我正在嘗試可視化過程的轉換頻率。我有以下數據>在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中的任何預定義的函數,可以給我這樣的結果?

謝謝!

+0

重的欺騙目標(見thelatemail答案),你需要:'列弗< - 排序(由工會(DF $,$ DF對));表(因子(df $ from,levs),因子(df $ to,levs))' – Cath

+0

另請看'igraph :: from_adjacency'。 – Axeman

回答

-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 
+0

謝謝,這個作品! –