R语言如何绘制马赛克图

什么是马赛克图

是什么?

马赛克图(Mosaic Plot)是一种用于可视化两个或多个分类变量之间关系的图表。它通过将矩形块拼接在一起来表示不同组合的频率或比例。

有点像ggplot2中的百分比填充柱形图【geom_bar(position=“fill”)】

怎么看?

在马赛克图中,矩形的面积代表了某个组合的频率或比例大小。通过不同颜色或填充方式来表示不同的分类变量水平。其中,横轴和纵轴分别表示两个分类变量,通过矩形的位置来显示每个组合的频率或比例大小。

作用?

马赛克图可以帮助我们观察不同分类变量之间的关系,特别适用于探索和分析多个分类变量之间的交互效应。它可以提供直观的视觉展示,帮助我们理解和解释数据集中的模式和关联关系。

例如,卡方检验时可以用来呈现各组观察值的比例。

绘图前的数据准备

使用ggmosaic包自带的titanic数据集,该数据集包含了泰坦尼克号的乘客信息。我们用Class和Survived两个分类变量,来呈现马赛克图。

# A tibble: 2,201 x 4
   Class Sex   Age   Survived
   <fct> <fct> <fct> <fct>   
 1 3rd   Male  Child No      
 2 3rd   Male  Child No      
 3 3rd   Male  Child No      
 4 3rd   Male  Child No      
 5 3rd   Male  Child No      
 6 3rd   Male  Child No      
 7 3rd   Male  Child No      
 8 3rd   Male  Child No      
 9 3rd   Male  Child No      
10 3rd   Male  Child No      
# i 2,191 more rows

R语言如何绘制马赛克图

# 代码来源:https://www.r2omics.cn/
# 加载 ggmosaic 库,用于创建马赛克图
library(ggmosaic) 

# 加载 titanic 数据集,该数据集包含了泰坦尼克号的乘客信息
data(titanic) 

# 创建一个 ggplot 对象,并将 titanic 数据集指定为绘图数据
ggplot(data = titanic) +  
  geom_mosaic(aes(x = product(Class), fill = Survived)) +
  theme_minimal()

geom_mosaic()添加一个马赛克图层到 ggplot 对象中。

x轴使用”Class”变量的水平级别构成的组合,必须套在product()里面。

填充颜色表示”Survived”变量的水平级别。