带有误差线的线图,其中每条线都是不同的组,多个变量位于 x 轴上

Line plot with error bars in which each line is a different group and multiple variables are in the x axis

我正在尝试在 R/Rstudio 中创建一个带有误差条的线图,其中每条线都是不同的组(由一个变量编码),不同的连续变量组成 x 轴。 以数据集diamonds为例,它是一个多线图,其中每条线都是变量“颜色”和x,y,z的一个类别,它们是水平在y轴上的变量,但它们位于x 轴。 R中菱形的头部是: (如 R studio 中的编码:

>head(diamonds)

carat cut       color clarity depth table price     x     y     z
  <dbl> <ord>     <ord> <ord>   <dbl> <dbl> <int> <dbl> <dbl> <dbl>
1 0.23  Ideal     E     SI2      61.5    55   326  3.95  3.98  2.43
2 0.21  Premium   E     SI1      59.8    61   326  3.89  3.84  2.31
3 0.23  Good      E     VS1      56.9    65   327  4.05  4.07  2.31
4 0.290 Premium   I     VS2      62.4    58   334  4.2   4.23  2.63
5 0.31  Good      J     SI2      63.3    58   335  4.34  4.35  2.75
6 0.24  Very Good J     VVS2     62.8    57   336  3.94  3.96  2.48

图片中附有一个类似图表的示例,但我需要一个带有误差线的图表(这是在 stata 中制作的,它无法向该命令添加误差线,即:profileplot varx 改变 varz,按(组)

这里是没有错误条的剖面图::

在我们开始之前,我们将从菱形绘制 x、y、z 列,因为 x 和 y 非常接近,所以我从 y 中减去 1 这样我们就可以看到它,并且还为误差线引入了一些误差

library(tidyr)
library(ggplot2)
library(dplyr)
mydata <- diamonds %>% select(color,x,y,z) %>% pivot_longer(-color)

        # A tibble: 6 x 3
  color name  value
  <ord> <chr> <dbl>
1 E     x      1.80
2 E     y      3.98
3 E     z      2.43
4 E     x      2.92
5 E     y      3.84
6 E     z      2.31

然后:

ggplot(mydata,aes(x=name,y=value,color=color)) + 
stat_summary(fun.y=mean,geom="point") +
stat_summary(fun.y=mean,aes(group=color),geom="line") +
stat_summary(fun.data=mean_se,geom="errorbar",width=0.1)

在这种情况下,误差线等没有意义,因为 x、y 和 z 值非常相似。