我试图在同一个情节中一起绘制以下信息:
jobcontrol
和jobdemands
)的散点图,五个组(class
变量)的颜色不同。jobcontrol
和jobdemands
)的平均值,由水平的双误差条包围,用于X轴变量和垂直的Y轴变量。这应该是每个群体的集中趋势和分散。 数据摘录:
> head(karasek1)
jobcontrol jobdemands class
9 37 1
26 37 1
9 30 5
NA NA 4
11 42 2
29 42 1
绘图方法和误差线的数据:
desc2 <- data.frame(class=c(1:5),
jcmean = c(23.23, 24.79, 28.31, 23.26, 23.84 ),
jcse = c(5.95, 5.23, 6.05, 6.33, 5.91),
jdmean = c(36.40, 37.71, 38.16, 35.04, 36.48),
jdse = c(5.86, 5.23, 5.39, 6.60, 5.90))
这是我的临时解决方案:
library(ggplot2)
ggplot(data=karasek1,aes(x=jobdemands,y=jobcontrol,color=class,shape=class))+
geom_point(size=1) +
geom_errorbar(data=desc2,aes(ymin=jcmean-jcse,ymax=jcmean+jcse),width=.1,position =position_dodge(0.1)) +
geom_errorbarh(data=desc2,aes(xmin=jdmean-jdse,xmax=jdmean+jdse),width=.1,position =position_dodge(0.1))
它不起作用,它与两个数据组合在一起,因为错误信息是:
Error in eval(expr, envir, enclos) : object 'jobdemands' not found
另一个问题是我不知道如何根据class
的不同值使这些误差条变色,因此有五个“十字”并且可以识别它们。
非常感谢!