当我运行此编程代码时,我将收到此错误" 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))
答案 0 :(得分:3)
如果您想绘制热图,请使用geom_tile
。另外,opts
和theme_text
已被弃用,并且分别被theme
和element_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))
哪个输出:
另外,只是为了回答所有问题,ggplot可以处理两个具有不同级别数量的分类列,而热图也是一种很好的方式来显示两个分类变量之间的关系,例如你拥有的那些。
答案 1 :(得分:1)
GGally包有一个ggfluctuation2函数,它取代了已弃用的ggfluctuation。但它仍然相当粗糙(你甚至不能指定轴标签),我更喜欢原始的ggplot功能。你也可以尝试ggally_ratio。