在R中创建具有多个直方图的单个图形

时间:2014-11-17 22:47:41

标签: r histogram

如何创建一个图表,显示两个级别的变量的直方图/密度图?即变量X(分类)由变量y(人员与mgmt)分层绘制,并进一步按变量z(高分与低分)分层。我最终应该有4个直方图。

2 个答案:

答案 0 :(得分:2)

将来您应该包括您的数据,或者至少包含一个代表性示例。有关如何执行此操作的说明,请参阅this post

# sample data...
set.seed(1)    # for reproducible example
df <- data.frame(x=rnorm(1000,mean=rep(c(0,3,6,9),each=250)),
                 y=rep(c("Staff","Mgt"),each=500),
                 z=rep(c("High","Low"),each=250))

# base  R solution
par(mfrow=c(2,2),mar=c(3,4,1,1))
lapply(split(df,list(df$y,df$z)),
       function(d)hist(d$x,main=paste(unique(d$y),unique(d$z),sep=".")))

# ggplot solution (one of many possibilities)
library(ggplot2)
ggplot(df) + 
  geom_histogram(aes(x=x,fill=interaction(z,y)),color="grey70")+
  facet_grid(z~y)

答案 1 :(得分:0)

此页面具有在一个绘图上表示的多个数据源的几个基本示例。这是与您的示例绘图相似的图片:

enter image description here