2015-12-02 57 views
2

當我運行這個編程代碼時,我會得到這個錯誤「ggfluctuation is deprecated。(defunct; last used in version 0.9.1)」。 1我如何解決這個問題? 2 - 在我的原始數據集中,我有兩個字符串變量,其級別過多(第一個變量有65個級別,第二個變量有8個級別),我可以爲這兩個變量分配Heatmap表格嗎? 3-在我的數據集中顯示這兩個分類變量之間關係的最佳方式(繪圖)是什麼?熱圖表(ggfluctuation函數)

library(Hmisc) 
library(ggplot2) 
library(reshape) 
data(HairEyeColor) 
P=t(HairEyeColor[,,2]) 
Pm=melt(P) 
ggfluctuation(Pm,type="heatmap")+geom_text(aes(label=Pm$value),colour="white")+ opts(axis.text.x=theme_text(size = 15),axis.text.y=theme_text(size = 15)) 

回答

2

如果要繪製熱圖,請使用geom_tile。而且,optstheme_text已棄用,並分別由themeelement_text取代。

所以,你可以這樣做:

ggplot(Pm, aes(Eye, Hair, fill=value)) + geom_tile() + 
    geom_text(aes(label=Pm$value),colour="white")+ 
    theme(axis.text.x=element_text(size = 15),axis.text.y=element_text(size = 15)) 

,輸出:

enter image description here

而且,只是爲了回答所有的問題是,ggplot可以處理兩個類別列有不同數量的層次,並且熱圖是顯示兩個分類變量之間關係的好方法,例如您擁有的分類變量。

+0

太好了,非常感謝您的幫助 – shadi

+0

非常歡迎,很高興我可以幫忙:) – LyzandeR

+0

嗨再次,只是一個問題,當我在我的數據集中運行此代碼時,我會得到此錯誤:錯誤:美學要麼是長度爲1,要麼與dataProblems:melt_table1 $ value的長度相同。其中一個變量有13個,另一個有8個等級。我該如何解決這個問題? – shadi

0

GGally軟件包有一個ggfluctuation2函數來替代已棄用的gf浮動。但它仍然很粗糙(你甚至不能指定軸標籤),我更喜歡原始的ggplot函數。你也可以試試ggally_ratio。