带有误差线的线图,其中每条线都是不同的组,多个变量位于 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 值非常相似。
我正在尝试在 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 值非常相似。