37  累积曲线

37.1 什么是累积曲线?

累积曲线,全称是”经验累积分布函数”(ecdf)

在X轴映射所有数值,在Y轴映射排名的累积占比。最后通过点图和梯度连接线来进行可视化数据。就出现了简单的经验累积分布函数(ecdf)

为了理解这个抽象的概念,我们用学生成绩表的累积曲线举个例子。

学生的语文成绩如下:

第一列是学生名称,第二列是语文成绩。

绘图时,数据会按照从小到大排序并计数,根据所占总数的比例,不断累积,最终如下图的蓝色所示。

从图中可以看出(红线),有50%的学生语文成绩在60分以下。

37.2 绘图前的数据准备

demo数据可以在https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/lolly/demoData.txt下载。

包含2个维度的数据,用生物学常用的搜库结果举例。每一列是个样本,每一行是个基因。

37.3 R语言怎么画累积曲线

# 加载R包,没有安装请先安装  install.packages("包名") 
library(ggplot2)
library(reshape2)

# 读取累积曲线数据文件
df = read.delim("https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/ecdf/demo.txt",
                row.names = 1)

df = melt(df)            # reshape2中的函数,宽数据转换为长数据
df$value = log(df$value) # 为方便观察,做log变化,以实际数据是否需要为准


# 绘图
ggplot(df,
       aes(
         x=value,
         color=variable
         ))+
  stat_ecdf( # ggplot2中的经验累积分布函数
    size=2   # 线条粗细
    )

37.4 BioLadder生信云平台在线绘制累积曲线

不想写代码?可以用BioLadder生信云平台在线绘制累积曲线。

网址:

累积曲线-BioLadder生物信息在线分析可视化云平台​www.bioladder.cn/web/#/chart/67