ggVennDiagram:计算二进制项并显示三组

ggVennDiagram: counting binary items and displaying three sets

临床实验有 10 个人在三个定义的时间点 (t1,t2,t3) 提供血液样本。并不是每个人都能如期赴约,因此有些人错过了一个或多个样本,显示为“0”。其他人在所有三个样本中(t1 =“1”,t2 =“1”,t3 =“1”)。

我的目标是使用 ggvenndiagram 包创建一个维恩图,其中每个交叉区域显示在指定时间(设置 t1, t2, t3)提供样本的人数。

中间是提供所有三个请求样本的人的比例。在没有交叉点的外围区域,是只管理一个样本的人(例如 8 号受试者只管理 t2 的样本,这应该分别显示为“1”/“10%”。4 人给出了所有三个样本,所以三个圆圈的中间应该分别显示“4”/“40%”,详情见下文)。

代码&数据:

library("ggVennDiagram") 
t1<-c(1,1,0,1,1,1,1,0,1,0) 
t2<-c(0,1,0,1,0,1,0,1,1,0) 
t3<-c(1,1,1,1,1,1,0,0,1,0) 
cbind(t1,t2,t3)

你可以试试:

ggVennDiagram(apply(cbind(t1, t2, t3), 2, function(x) which(x == 1)))

请注意,无法轻易记录未出现在任何访问中的人,因为他们不属于任何集合(而且我找不到分配给“空”集合的机制) , 所以百分比是参与人数的百分比。

reprex package (v2.0.1)

创建于 2022-01-30