热图表(ggfluctuation函数)

时间:2015-12-02 23:52:52

标签: r

当我运行此编程代码时,我将收到此错误" ggfluctuation已弃用。 (已解散;最后一次用于0.9.1版本)"。 1 - 我该如何解决这个问题? 2 - 在我的原始数据集中,我有两个具有太多级别的字符串变量(第一个变量有65个级别,第二个变量有8个级别),虽然它们有不同的级别,但我可以为这两个变量设置热图表吗? 3 - 在我的数据集中显示这两个分类变量之间关系的最佳方法(图)是什么?

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 个答案:

答案 0 :(得分:3)

如果您想绘制热图,请使用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可以处理两个具有不同级别数量的分类列,而热图也是一种很好的方式来显示两个分类变量之间的关系,例如你拥有的那些。

答案 1 :(得分:1)

GGally包有一个ggfluctuation2函数,它取代了已弃用的ggfluctuation。但它仍然相当粗糙(你甚至不能指定轴标签),我更喜欢原始的ggplot功能。你也可以尝试ggally_ratio。