R语言绘图—冲积图

最近在分析一些传染病数据,我这需要分多层展示,找到一个比较合适的图形展示—冲击图,今天在此分享一下绘制过程。这里大家需要事先安装好ggalluvial包,安装好了的话,我们就开始吧。
一、模拟数据
我的数据共有5列,分别为:病人ID、所患疾病、法定传染病类别、年龄、是否死亡,详细数据如下:

library(ggalluvial)
library(data.table)
library(ggplot2)
set.seed(123)
my_da<-data.frame(
  ID=c(1:285),
  disease=c(rep("鼠疫",33),rep("霍乱",29),
            rep("病毒性肝炎",78),rep("艾滋病",50),
            rep("流行性感冒",50),rep("流行性腮腺炎",45)
            ),
  kind=c(rep("甲类",62),rep("乙类",128),rep("丙类",95)),
  age=c(runif(285,min=0,max=80)),
  sur=c(rep("死亡",5),rep(c("生存","死亡"),each=140))
)

这里我们需要将年龄数据分段:

setDT(my_da)
my_da[,age_cut:=cut(age,breaks = c(0,5,15,20,25,30,35,40,45,50,55,60,65,70,75,80),
                     right = F,include.lowest = T)]

二、绘图

你可能感兴趣的:(R语言,r语言,开发语言)