
ZL1023
V1
2023/01/19阅读:28主题:全栈蓝
柱形图系列

一、前言
柱形图是最简单的类别比较型图(之一),学术论文中经常使用的柱形图主要有2个作用:
-
展示不同类别变量的数值大小; -
比较不同类别变量之间的大小关系。
1.1 单数据系列柱形图


1.2 多数据系列柱形图


1.3 堆积柱形图


1.4 百分比堆积柱形图


二、R包
本期使用的R包主要有3个:
tidyverse包是一个集成包,包括
-
ggplot2包:用于数据可视化; -
dplyr包:用于数据操作; -
tidyr包:用于数据整理; -
readr包:用于数据导入; -
purrr包:用于函数式编程; -
tibble:用于一种新型数据框; -
stringr包:用于字符串; -
forcats包:用于因子。
# load "gWQS" package
library(gWQS)
# load "dlookr" package
library(dlookr)
# load "tidyverse" package
library(tidyverse)
三、演示数据
「演示数据简介:」gWQS包中有一个内置数据集,内置数据集的名称叫wqs_data,「wqs_data」数据集有「34种多环芳烃暴露数据」、25种邻苯二甲酸酯暴露数据和其他类型数据。
本期仅使用wqs_data数据集的「前5种多环芳烃暴露数据」和「性别」。
# PCBs name
PCBs_name <- c("LBX074LA","LBX099LA","LBX105LA","LBX118LA","LBX138LA")
# get the first 5 PCBs exposure data and sex
PCBs <- wqs_data[c(PCBs_name,"sex")]
# get PCBs' absolute value
PCBs[PCBs_name] <- abs(PCBs[PCBs_name])
# view PCBs data
head(PCBs)

四、R语言实现
4.1 单数据系列柱形图
PCBs %>%
# calculate describe statistics
describe(statistics=c("mean","sd")) %>%
# draw bar plot
ggplot() +
# geometry layer
geom_bar(aes(x=described_variables,y=mean),
stat="identity",
# visual channel mapping
fill="blue")+
# coordinate adjustment
scale_x_discrete(name="PCBs") +
scale_y_continuous(name="Concentration of PCBs in urine (mg/kg)") +
# theme adjustment
theme_light()

4.2 多数据系列柱形图
PCBs %>%
# group by sex
group_by(sex) %>%
# calculate describe statistics
describe(statistics=c("mean","sd")) %>%
# draw bar plot
ggplot() +
# geometry layer
geom_bar(aes(x=described_variables,y=mean,fill=sex),
stat="identity",
# visual channel mapping
position="dodge",
width=0.6) +
# coordinate adjustment
scale_x_discrete(name="PCBs") +
scale_y_continuous(name="Concentration of PCBs in urine (mg/kg)") +
# legend adjustment
scale_fill_manual(name="Sex",values=c("red","blue"),labels=c("Male","Female")) +
# theme adustment
theme_light() +
theme(legend.position="top")

4.3 堆积柱形图
PCBs %>%
# group by sex
group_by(sex) %>%
# calculate describe statistics
describe(statistics=c("mean","sd")) %>%
# draw bar plot
ggplot() +
# geometry layer
geom_bar(aes(x=described_variables,y=mean,fill=sex),
stat="identity",
# visual channel mapping
position="stack",
width=0.6) +
# coordinate adjustment
scale_x_discrete(name="PCBs") +
scale_y_continuous(name="Concentration of PCBs in urine (mg/kg)") +
# legend adjustment
scale_fill_manual(name="Sex",values=c("red","blue"),labels=c("Male","Female")) +
# theme adustment
theme_light() +
theme(legend.position="top")

4.4 百分比堆积柱形图
PCBs %>%
# group by sex
group_by(sex) %>%
# calculate describe statistics
describe(statistics=c("mean","sd")) %>%
# draw bar plot
ggplot() +
# geometry layer
geom_bar(aes(x=described_variables,y=mean,fill=sex),
stat="identity",
# visual channel mapping
position="fill",
width=0.6) +
# coordinate adjustment
scale_x_discrete(name="PCBs") +
scale_y_continuous(name="Concentration of PCBs in urine (mg/kg)") +
# legend adjustment
scale_fill_manual(name="Sex",values=c("red","blue"),labels=c("Male","Female")) +
# theme adustment
theme_light() +
theme(legend.position="top")

五、结果解读
NHANES数据库中多环芳烃的编码与对应名称。
编码 | 多环芳烃 |
---|---|
LBX074LA | PCB74 |
LBX099LA | PCB99 |
LBX105LA | PCB105 |
LBX118LA | PCB118 |
LBX138LA | PCB138 |
-
PCB74是人体尿液中含量最高的PCBs,其次是PCB138、PCB105和PCB99,PCB118在人体尿液中的含量最低。 -
除了PCB74,女性尿液中PCBs含量一般高于男性。
作者介绍

ZL1023
V1