我目前正在处理一组相当大的数据,并且负责为该组的多个部分生成直方图。我已经研究过如何使用ggplolts执行分析的一个方面:
Plot<-ggplot(melt(Data[1:200,1:4]),aes(x=value)) + geom_histogram() + facet_wrap(~variable)
此方法适用于该过程的第一步。但是,现在我的任务是获取我正在使用的列并生成每列中具有不同行范围的多个直方图。有没有一种有效的方法呢?
更新
因此,假设我有一个包含1000个观察数据的数据帧,跨4列。
Test<-rnorm(1000,3,.5)
Test<-as.data.frame(Test)
Test[,2]<-rnorm(1000,3,.5)
Test[,3]<-rnorm(1000,3,.5)
Test[,4]<-rnorm(1000,3,.5)
首先,我需要一种方法来跨列范围选择相同的行,并为每个列创建直方图。我发现这个为此创造奇迹的公式是这样的:
PlotTest<-ggplot(melt(Test[1:100,1:4]),aes(x=value)) + geom_histogram() + facet_wrap(~variable)
PlotTest<-PlotTest+ggtitle("Results")+scale_x_continuous("Scores")+scale_y_continuous("Response Frequency", limits=c(0, 25))
PlotTest
http://i.stack.imgur.com/V13NV.png
问题是现在我想在1列内显示多个范围的图形。也就是说,理想情况下,我希望为同一列中的行范围1:299,300:400和401:506创建直方图,并将它们放在同一输出中,其格式与我之前类似。有没有简单的方法来完成这个过程?祝福, 〜NaiveAnalyst
更新2
非常感谢为上述问题提供解决方案的评论者。他们找到的解决方案转载如下,因为他们的评论似乎已经消失了。
install.packages("gridExtra")
library("gridExtra")
PlotTest1<-ggplot(melt(ManagersbyRegion[1:299,1]), aes(x=value))+ geom_histogram() +
ggtitle("Title")+scale_x_continuous("X-Values")+
scale_y_continuous("Y-Values")
PlotTest2<-ggplot(melt(ManagersbyRegion[300:400,1]), aes(x=value))+ geom_histogram() +
ggtitle("Title")+scale_x_continuous("X-Values")+
scale_y_continuous("Y-Values")
PlotTest3<-ggplot(melt(ManagersbyRegion[401:506,1]), aes(x=value))+ geom_histogram() +
ggtitle("Title")+scale_x_continuous("X-Values")+
scale_y_continuous("Y-Values")
grid.arrange(PlotTestI1, PlotTest2, PlotTest3)
查看图表,我注意到值可能会更好地格式化为百分比。经过一个小时左右的挖掘后,我仍然没有接近我原本想要的东西。关于如何将百分比应用于y轴的任何建议都将非常受欢迎。
祝福, 〜朴素