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

如何将Tibble两列数据处理为适配ggvenn包的韦恩图输入列表

解决方案

首先加载所需R包:

library(tidyverse)
library(ggvenn)

假设你的tibble数据结构如下(可替换为你的实际数据):

sample_gene <- tibble(
  sample = rep(c("SampleA", "SampleB", "SampleC"), each = 5),
  gene = c("Gene1", "Gene2", "Gene3", "Gene4", "Gene5",
           "Gene3", "Gene4", "Gene5", "Gene6", "Gene7",
           "Gene5", "Gene6", "Gene7", "Gene8", "Gene9")
)

1. 将tibble转换为ggvenn所需的命名列表

按sample分组,把每个样本对应的所有gene汇总成向量,再转换为命名列表:

gene_list <- sample_gene %>%
  group_by(sample) %>%
  summarize(gene = list(gene)) %>%
  deframe()

这里deframe()会把tibble的第一列作为列表名称,第二列作为列表的元素值,刚好匹配ggvenn的输入要求。

2. 绘制韦恩图

直接用ggvenn()函数绘图,可根据需求调整样式参数:

ggvenn(gene_list, 
       fill_color = c("#0073C2FF", "#EFC000FF", "#868686FF"),
       stroke_size = 1,
       text_size = 4)

如果样本数量超过3个,ggvenn会自动适配多集合的韦恩图样式,只需保证gene_list是正确的命名列表即可。

内容的提问来源于stack exchange,提问作者Rasmus Eugen-Olsen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 02:30:54