R语言 如何用一条连接平均值的线来制作Bowxplot

R语言 如何用一条连接平均值的线来制作Bowxplot

箱形图 是总结分布形状的一个好方法,显示其中位数、平均值、偏度、可能的离群值、分布等。这些图是数据探索的最佳方法。箱形图是五个数字的总结,其中包括最小值、第一四分位数、中位数、第三四分位数和最大值。

在这篇文章中,我们将讨论如何在R编程语言中用连接均值的线制作一个boxplot。

为了在R语言中创建一个带有均值连接线的boxplot,我们使用ggplot2的重叠方法。我们首先创建一个简单的ggplot2 boxplot。然后我们从数据框中获取数据值的平均值,并将其存储在向量平均值中。然后通过使用向量平均数和ggplot2的geom_line()函数,我们将直线图重叠到boxplot上,以复制直线连接平均值的效果。

语法

ggplot() + geom_boxplot() + geom_line()

例子: R程序创建一个用线连接平均值的boxplot

# import library tidyverse
library(tidyverse)
  
# set seed and create a dataframe
set.seed(1068)
  
df <- data.frame(grp = paste0("geeks", 
                             rep(1:7, each = 56)),
                 values = c(rnorm(56, 7, 20), 
                               rnorm(56, 14, 40),
                               rnorm(56, 28, 60),
                               rnorm(56, 56, 100),
                               rnorm(56, 63, 60),
                            rnorm(56, 63, 60),
                            rnorm(56, 63, 60)))
  
# Get mean of data values from data frame 
mean <- df %>% 
  group_by(grp) %>% 
  summarize(average = mean(values)) %>%
  ungroup()
  
# Create Boxplot with a line plot using mean values
df %>% 
  ggplot(mapping = aes(x = grp, y = values)) + 
  geom_boxplot() +
  geom_line(data = mean, 
            mapping = aes(x = grp, y = average, group=1),color="green")

输出

如何在R中用一条连接平均值的线来制作Bowxplot?

例子: R程序创建一个带有连接平均值的线的boxplot。

# import library tidyverse
library(tidyverse)
  
# set seed and create a dataframe
set.seed(1068)
  
df <- data.frame(grp = paste0("Students", 
                             rep(1:4, each = 40)),
                 values = c(rnorm(40, 100, 122), 
                               rnorm(40, 14, 21),
                               rnorm(40, 28, 93),
                               rnorm(40, 52, 100)))
  
# Get mean of data values from data frame 
mean <- df %>% 
  group_by(grp) %>% 
  summarize(average = mean(values)) %>%
  ungroup()
  
# Create Boxplot with a line plot using mean values
df %>% 
  ggplot(mapping = aes(x = grp, y = values)) + 
  geom_boxplot() +
  geom_line(data = mean,mapping = aes(x = grp, y = average, group=1),
            color="red", size=1.4)+
  coord_flip()

输出

如何在R中用一条连接平均值的线来制作Bowxplot?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程