我试图在同一个图中一起绘制以下信息:
- 两个变量(
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
,以便有五个“十字”并且可以识别它们。
首先十分感谢!