You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中绘制散点图展示配对样本T1、T2的counts分布关联

问题解答

散点图适用性判断

完全适用。你要分析配对样本两个时间点counts的关联关系,散点图是最匹配需求的可视化方案:X轴映射T1 counts、Y轴映射对应配对样本T2 counts的呈现方式,可以直观展示每个样本两个时间点的数值对应关系,叠加趋势线后还能清晰体现两组数值的整体相关方向和相关强度。

R实现代码

# 加载依赖包,没有安装的话先运行 install.packages("tidyverse")
library(tidyverse)

# 构造示例数据,实际使用时替换为读入自己的文件即可,比如df <- read.table("你的数据路径", header = T)
df <- data.frame(
  Sample = c("001_T1","001_T2","002_T1","002_T2","003_T1","003_T2","004_T1","004_T2","005_T1","005_T2"),
  Time = c("T1","T2","T1","T2","T1","T2","T1","T2","T1","T2"),
  counts = c("26,629,556","20,755,896","26,081,538","28,675,076","25,459,034","25,531,900","29,062,968","26,612,567","26,689,387","28,428,044")
)

# 数据清洗与格式转换
df_clean <- df %>%
  mutate(
    # 去掉counts中的千分位逗号,转为数值格式
    counts = as.numeric(gsub(",", "", counts)),
    # 提取样本唯一编号,匹配T1、T2的配对关系
    sample_id = gsub("_T[12]$", "", Sample)
  ) %>%
  # 长表转宽表,每个样本对应一行T1、T2的counts值
  pivot_wider(id_cols = sample_id, names_from = Time, values_from = counts)

# 绘制散点图+趋势线
ggplot(df_clean, aes(x = T1, y = T2)) +
  # 散点配置
  geom_point(size = 3, color = "#2c3e50") +
  # 线性趋势线配置,不需要置信区间可加se = FALSE参数
  geom_smooth(method = "lm", color = "#e74c3c", fill = "#bdc3c7", alpha = 0.3) +
  # 参考对角线,方便对比单个样本T1、T2的数值高低
  geom_abline(slope = 1, intercept = 0, linetype = "dashed", color = "#7f8c8d") +
  # 坐标轴与标题设置
  labs(
    x = "T1组counts值",
    y = "T2组counts值",
    title = "配对样本T1与T2 counts值关联关系"
  ) +
  theme_bw()

额外说明

  • 若样本量较大存在点重叠问题,可在geom_point中添加alpha = 0.6参数调整点的透明度
  • 若需要在图中展示相关系数与显著性,可安装加载ggpubr包后,在ggplot代码中添加stat_cor(method = "pearson", label.x.npc = 0.1, label.y.npc = 0.9)

内容的提问来源于stack exchange,提问作者user3683485

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 12:45:03