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
临床实验有 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