美文网首页R plotR for statistics
多维变量一图搞定——带你了解雷达图

多维变量一图搞定——带你了解雷达图

作者: R语言与SPSS学习笔记 | 来源:发表于2021-06-15 13:37 被阅读0次

    假如你有多个连续变量时,你会如何在一张图上展示他们的信息?在这里我给大家推荐雷达图

    雷达图( radar charts )又叫蜘蛛网图,被认为是一种表现多维( 4 维以上)数据的图表。它将多个维度的数据量映射到坐标轴上,这些坐标轴起始于同一个圆心点,通常结束于圆周边缘,将同一组的点使用线连接起来就称为了雷达图。

    如下示例,使用雷达图展示了ABCD四个城市的患病率,雷达图的顶点为不同的疾病(此处我模拟了6种,代表6个维度),颜色代表了不同的城市。(注:数据是我自己模拟的)

    devtools::install_github('ricardo-bion/ggradar',dependencies = TRUE)

    library(ggradar)

    模拟数据

    set.seed(2021)
    dat <- data.frame(
    obj = c('A', 'B', 'C',"D"),
    MetS = runif(4, 0, 1),#生成服从正态分布随机数
    Centralobesity = runif(4, 0, 1),
    hypertension = runif(4, 0, 1),
    LowHDL = runif(4, 0, 1),
    hyperglycemia = runif(4, 0, 1),
    Hypertriglycerides = runif(4,0,1))

    查看数据集结构

    dat

    绘制雷达图

    ggradar(dat,grid.min=0,#网格线的最小值
    grid.max=1,#网格线的最小值
    group.point.size=2.0,#点的大小
    group.line.width=1.0,#网格线的宽度
    background.circle.transparency = 0, #
    grid.label.size=3,#标签的文本大小
    axis.label.size=3,#轴标签的文本大小
    legend.text.size=6,#图例文本大小
    group.colours = c('#7FFF00', '#DDA0DD', '#00FFFF', '#EE6A50'))

    如图所示,越靠近顶点的位置患某病的概率就越大,可以看到在Hypertriglycerides疾病中,B城市的患病率最高,其次是C,D,A.

    是因为最近巧合看到一篇文献里面有雷达图,于是想着跟大家分享一下雷达图的绘制方法和解读。文献链接如下:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8139944/

    相关文章

      网友评论

        本文标题:多维变量一图搞定——带你了解雷达图

        本文链接:https://www.haomeiwen.com/subject/jvjzeltx.html