当有多个分类,分类之间有相同又有差异的时候,常用的可视化方法是做韦恩图。有时我们想知道某个交集或其他部分比如独有的信息时,需要提取出来,前提是韦恩图的每个组分是知道的,也就是制作图画的软件能够提供才是可行的。在
R
中是知道的。
可以根据不同的类别来提取,我喜欢用每部分的个数。个数一般不同,但如果有相同的时候就要手动后期调整。
Example
R
中我用包VennDiagram
(感谢开发者!)
- 安装加载包
## install & require the needed pacakge
# install.packages("VennDiagram")
library(VennDiagram)
ldf$Aolig$ID<-as.character(ldf$Aolig$ID)
ldf$Dhapt$ID<-as.character(ldf$Dhapt$ID)
ldf$Dsten$ID<-as.character(ldf$Dsten$ID)
ldf$Everm$ID<-as.character(ldf$Everm$ID)
ldf$Hminn$ID<-as.character(ldf$Hminn$ID)
ev.getven<-get.venn.partitions(x=
list(
"Aolig"=ldf$Aolig$ID,
"Dhapt"=ldf$Dhapt$ID,
"Dsten"=ldf$Dsten$ID,
"Everm"=ldf$Everm$ID,
"Hminn"=ldf$Hminn$ID)
)
- 提取
## write a function
## n-a number or numerical vector
dlm.extract.bb <- function(n) {
for(i in 1:length(n)){
aim<-ev.getven[ev.getven$..count..==n[i],]
aim1<-aim$..values..
aim1<-as.data.frame(aim1)
names(aim1)<-aim$..set..
filename<-paste0(substr(names(aim1[1]),2,6),".csv")
write.csv(aim1,filename)
}
print("Job done!")
}
## Example
a<-c(208,244,1641,1239,17,2789)
dlm.extract.bb(a)