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