2017-05-04 62 views
0

繪製我有要在熱圖的可視化矩陣,具有ggplot,例如在R. geom_tile的數據是在變換矩陣,使得它可以與熱圖中的R

I II 
A 1 2 
B 3 4 
格式電流

但是,要使用ggplot,我需要這個矩陣轉換成數據幀格式如下:

Var1 Var2 Value 
A  I  1 
A  II  2 
B  I  3 
B  II  4 

如何變換矩陣,以這種格式,這樣我可以使用ggplot?我不希望可視化軟件包如gplot,因爲它看起來慢很多。謝謝。

+1

''從reshape2' melt'不正是這個 –

+0

@Patronus你能解釋一下嗎? I和II是列名,A和B是行名。當我使用熔化()時,我只得到一列變量和一列值,並且行名消失。它說類似「沒有id變量;使用所有作爲度量變量」 –

回答

0

你可以顯示代碼如何創建數據?我嘗試編碼自己,融化工作正常。

a = matrix(c(1, 3, 2, 4), 2, dimnames = list(c('A', 'B'), c('I', 'II'))) 
melt(a) 

這就是我得到:

Var1 Var2 value 
1 A I  1 
2 B I  3 
3 A II  2 
4 B II  4 
+0

我將數據框轉換爲矩陣後,它的工作原理。看來,熔解()不能處理數據幀。 –

+0

@ S.Wang事實上,融化可以處理數據幀和矩陣。如果你想將rownames作爲id.var,熔化可以從矩陣中捕獲rownames,但對於數據框,我相信你必須爲rownames創建一個變量,然後使用參數id.var來引用它。有關融化數據框的更多詳細信息,請嘗試?melt.data.frame –

+1

@ S.Wang您在您的問題中提到「我有一個矩陣」 –