2

我试图在同一个图中一起绘制以下信息:

  1. 两个变量(jobcontroljobdemands)的散点图,五个组(class变量)的颜色不同。
  2. 对于五组中的每一组,我想显示两个变量 (jobcontroljobdemands) 的平均值,在 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,以便有五个“十字”并且可以识别它们。

首先十分感谢!

4

0 回答 0