如何在R语言中求8个集合中,求字符串的所有组合合的交集,类似于韦恩图

当前位置:
>>>.设全集为,用集合的交集、并集、补集分别表示右边韦恩图中Ⅰ、Ⅱ、..
.设全集为,用集合的交集、并集、补集分别表示右边韦恩图中 Ⅰ、Ⅱ、Ⅲ、Ⅳ四个部分为:Ⅰ部分:,Ⅱ部分:,Ⅲ 部分:,Ⅳ部分:,其中表示错误的是&&&&&&&&&&&&&&&&&&&&&&(&&&)A.Ⅰ部分B.Ⅱ部分C.Ⅲ部分D.Ⅳ部分
题型:单选题难度:偏易来源:不详
D根据文恩图的意义,可以看出:Ⅰ部分:A∩B,Ⅱ部分:A∩CUB,Ⅲ部分:B∩CU(A∩B),Ⅳ部分:CU(A∩B),只有第Ⅳ不是两个集合的交集的补集,而是两个集合的并集的补集,故选D.
马上分享给同学
据魔方格专家权威分析,试题“.设全集为,用集合的交集、并集、补集分别表示右边韦恩图中Ⅰ、Ⅱ、..”主要考查你对&&集合间交、并、补的运算(用Venn图表示)&&等考点的理解。关于这些考点的“档案”如下:
现在没空?点击收藏,以后再看。
因为篇幅有限,只列出部分考点,详细请访问。
集合间交、并、补的运算(用Venn图表示)
1、交集概念:
(1)一般地,由所有属于集合A且集合B的元素所组成的集合,叫做A与B的交集,记作A∩B,读作A交B,表达式为A∩B={x|x∈A且x∈B}。 (2)韦恩图表示为。
2、并集概念:
(1)一般地,由所有属于集合A或集合B的元素所组成的集合,叫做A与B的并集,记作A∪B,读作A并B,表达式为A∪B={x|x∈A或x∈B}。 (2)韦恩图表示为。
3、全集、补集概念:
(1)全集:一般地,如果一个集合含有我们所要研究的各个集合的全部元素,就称这个集合为全集,通常记作U。 &&&&&&& 补集:对于一个集合A,由全集U中所有不属于A的元素组成的集合称为集合A相对于全集U的补集,记作CUA,读作U中A的补集,表达式为CUA={x|x∈U,且xA}。 (2)韦恩图表示为。1、交集的性质:
2、并集的性质:
3、补集的性质:
发现相似题
与“.设全集为,用集合的交集、并集、补集分别表示右边韦恩图中Ⅰ、Ⅱ、..”考查相似的试题有:
888977877321402794327630469706244959【R语言】韦恩图的简单绘制[r语言绘制地图]
【R语言】韦恩图的简单绘制[r语言绘制地图]
Venn Diagram,简称文氏图,又称为维恩图,是一种非常常用的图示手段,主要用于显示组与组之间重叠的程度。R中提供了多个可用于绘制韦恩图的软件包,本文主要是介绍的是VennDiagram包。
函数venn.diagram是利用集合作为参数绘制韦恩图的,但是有时候我们并不知道各个集合都包含什么元素,而只知道集合及相互之间交集的大小,这个时候如何绘制韦恩图呢?包VennDiagram还给我们提供了另外几个函数:绘制两个集合的韦恩图的draw.pairwise.venn,三个集合的draw.triple.venn,四个、五个集合的draw.quad.venn、draw.quintuple.venn。(此处有个疑问我要画超过五个的韦恩图怎么办呢?二师兄说存在第三方软件包,可以达到这个目的,事实上不用到画那么多五个集合的韦恩图。后来我查了似乎 Vennerable 这个包可以,最多可画9个集合,软件链接 [/js229/Vennerable](/js229/Vennerable)。)基因列表:
每个基因列表文件大概如下图所示:
网页版的韦恩图绘制工具:
http://bioinformatics.psb.ugent.be/cgi-bin/liste/Venn/calculate_venn.htplhttp:/mmbiz_png/VsU5aZHPGtNfyDcUwUE8JQulNVJz9KbRicibnqsZGyLdC1b5C888PJkwrca4LsvbLqEE7icx3wtqCJ7WpRjk6tr1g/0?wx_fmt=png" data-ratio="1.00797****4042554" data-w="376"
使用R包VennDiagram,绘制韦恩图。
leaf&-unlist(read.table("Leaf_gene.txt"))
stem&-unlist(read.table("Stem_gene.txt"))
root&-unlist(read.table("Root_gene.txt"))
library(VennDiagram)
venn.diagram(list(leaf=leaf,root=root,stem=stem),
col = "transparent",fill = c("red", "green", "yellow"),
alpha =c(0.5,0.5,0.5),cex=2,filename = "venn")
venn.diagram函数学**
leaf&-unlist(read.table("Leaf_gene.txt"))
stem&-unlist(read.table("Stem_gene.txt"))
root&-unlist(read.table("Root_gene.txt"))
library(VennDiagram)
venn.plot&-venn.diagram(
list(leaf=leaf,root=root,stem=stem),
col = "transparent",
fill = c("red", "green", "yellow"),
alpha =c(0.5,0.5,0.5),
scaled = TRUE,
ext.text = TRUE,
ext.line.lwd = 2,
ext.dist = -0.15,
ext.length = 0.9,
ext.pos = -4,
inverted = TRUE,
cex = 2.5,
cat.cex = 2.5,
filename = "venn.tiff",
main = "Venn Diagram",
sub = "Leaf_Root_Stem",
main.cex = 2,
sub.cex = 1)
venn.plot &- venn.diagram(
&list(A = 1:150, B = 121:170),
&"Venn_2set_simple.tiff"
venn.plot &- venn.diagram(
&list(A = 1:150, B = 121:170, C = 101:200),
&"Venn_3set_simple.tiff"
# a more elaborate two-set Venn diagram with title and subtitle
venn.plot &- venn.diagram(
&x = list(
& &"A" = 1:100,
& &"B" = 96:140
&filename = "Venn_2set_complex.tiff",
&scaled = TRUE,
&ext.text = TRUE,
&ext.line.lwd = 2,
&ext.dist = -0.15,
&ext.length = 0.9,
&ext.pos = -4,
&inverted = TRUE,
&cex = 2.5,
&cat.cex = 2.5,
&rotation.degree = 45, ##旋转角度
&main = "Complex Venn Diagram",
&sub = "Featuring: rotation and external lines",
&main.cex = 2, ##主标题的大小
&sub.cex = 1 & #副标题的大小
# sample three-set Euler diagram
venn.plot &- venn.diagram(
&x = list(
& &"Num A" = paste("Num", 1:100),
& &"Num B" = c(paste("Num", 61:70), paste("Num", 71:100)),
& &"Num C" = c(paste("Num", 41:60), paste("Num", 61:70))),
&euler.d = TRUE,
&filename = "Euler_3set_simple.tiff",
&cat.pos = c(-20, 0, 20),
&cat.dist = c(0.05, 0.05, 0.02),
&cex = 2.5,
&cat.cex = 2.5,
&reverse = TRUE ##逆时针方向
# sample three-set Euler diagram
venn.plot &- venn.diagram(
&x = list(
& &A = c(1:10),
& &B = c(11:90),
& &C = c(81:90)
&euler.d = TRUE,
&filename = "Euler_3set_scaled.tiff",
&cex = 2.5,
&cat.cex = 2.5,
&cat.pos = 0
# sample four-set Venn Diagram
A &- sample(1:, replace = FALSE);
B &- sample(1:, replace = FALSE);
C &- sample(1:, replace = FALSE);
D &- sample(1:, replace = FALSE);
E &- sample(1:, replace = FALSE);
venn.plot &- venn.diagram(
&x = list(
&filename = "C-Venn_4set_pretty.tiff",
&col = "transparent",
&fill = c("cornflowerblue", "green", "yellow", "darkorchid1"),
&alpha = 0.50,
&label.col = c("orange", "white", "darkorchid4", "white",
& & & & & & & &"white", "white", "white", "white", "darkblue", "white",
& & & & & & & &"white", "white", "white", "darkgreen", "white"),
&cex = 1.5,
&fontfamily = "serif",
&fontface = "bold",
&cat.col = c("darkblue", "darkgreen", "orange", "darkorchid4"),##这是ADBC字符的颜色
&cat.pos = 0,
&cat.dist = 0.07,
&cat.fontfamily = "serif", &
&rotation.degree = 270,
&margin = 0.2 & &##圈圈的边缘大小
# sample five-set Venn Diagram &
venn.plot &- venn.diagram(
&x = list(
&filename = "Venn_5set_pretty.tiff",
&col = "black",
&fill = c("dodgerblue", "goldenrod1", "darkorange1", "seagreen3", "orchid3"),
&alpha = 0.50,
&cex = c(1.5, 1.5, 1.5, 1.5, 1.5, 1, 0.8, 1, 0.8, 1, 0.8, 1, 0.8,
& & & & &1, 0.8, 1, 0.55, 1, 0.55, 1, 0.55, 1, 0.55, 1, 0.55, 1, 1, 1, 1, 1, 1.5),
&cat.col = c("dodgerblue", "goldenrod1", "darkorange1", "seagreen3", "orchid3"),
&cat.cex = 1.5,
&cat.fontface = "bold",
&margin = 0.05
# Complex three-way Venn with labels & sub-/super-scripts & &
venn.plot &- venn.diagram(
&x = list(
& &I = c(1:60, 61:105, 106:140, 141:160, 166:175, 176:180, 181:205,
& & & & &206:220),
& &II = c(531:605, 476:530, 336:375, 376:405, 181:205, 206:220, 166:175,
& & & & & 176:180),
& &III = c(61:105, 106:140, 181:205, 206:220, 221:285, 286:335, 336:375,
& & & & & &376:405)
&category.names = c(
& &expression( bold('A'['1: subscript']) ),
& &expression( bold('B'^'2: going up') ),
& &expression( paste(bold('C'^'3'), bold('X'['i' &= 'r'^'2']^'2') ) )
&filename = 'Fig3-1_triple_labels_sub_and_superscripts.tiff',
&output = TRUE,
&height = 3000,
&width = 3000,
&resolution = 300,
&compression = 'lzw',
&units = 'px',
&lty = 'blank',
&fill = c('yellow', 'purple', 'green'),
&cex = 3.5,
&fontface = "bold",
&fontfamily = "sans",
&cat.cex = 3,
&cat.fontface = "bold",
&cat.default.pos = "outer",
&cat.pos = c(-27, 27, 135),
&cat.dist = c(0.055, 0.055, 0.085),
&cat.fontfamily = "sans",
&rotation = 1
# Complex 3-way Venn using expressions
venn.plot &- venn.diagram(
&x = list(
& &"Num A" = paste("Num", 1:100),
& &"Num B" = c(paste("Num", 61:70), paste("Num", 71:100)),
& &"Num C" = c(paste("Num", 41:60), paste("Num", 61:70))),
&category.names = c(
& &expression( bold('A'['1']) ),
& &expression( bold('A'['2']) ),
& &expression( bold('A'['3']) )
&euler.d = TRUE,
&filename = "Fig3-2_Euler_3set_simple_with_subscripts.tiff",
&cat.pos = c(-20, 0, 20),
&cat.dist = c(0.05, 0.05, 0.02),
&cex = 2.5,
&cat.cex = 2.5,
&reverse = TRUE
# Example to print to screen
venn.plot &- venn.diagram(
&x = list(
& &sample1 = c(1:40),
& &sample2 = c(30:60)
&filename = NULL
# Save picture to non-TIFF file type
# currently working on adding this functionality directly into venn.diagram
venn.plot &- venn.diagram(
&x = list (
& &A = 1:10,
& &B = 6:25
&filename = NULL
jpeg("venn_jpeg.jpg");
grid.draw(venn.plot);
dev.off();
# Figure 1A
venn.plot &- venn.diagram(
&x = list(
& &Label = 1:100
&filename = "1A-single_Venn.tiff",
&col = "black",
&fontface = "bold",
&fill = "grey",
&alpha = 0.75,
&cat.cex = 3,
&cat.fontface = "bold",
# Figure 1B
venn.plot &- venn.diagram(
&x = list(
& &X = 1:150,
& &Y = 121:180
&filename = "1B-double_Venn.tiff",
&fill = c("cornflowerblue", "darkorchid1"),
&alpha = 0.75,
&label.col = "white",
&fontfamily = "serif",
&fontface = "bold",
&cat.col = c("cornflowerblue", "darkorchid1"),
&cat.cex = 3,
&cat.fontfamily = "serif",
&cat.fontface = "bold",
&cat.dist = c(0.03, 0.03),
&cat.pos = c(-20, 14)
# Figure 1C
venn.plot &- venn.diagram(
&x = list(
& &R = c(1:70, 71:110, 111:120, 121:140),
& &B = c(141:200, 71:110, 111:120, 201:230),
& &G = c(231:280, 111:120, 121:140, 201:230)
&filename = "1C-triple_Venn.tiff",
&col = "transparent",
&fill = c("red", "blue", "green"),
&alpha = 0.5,
&label.col = c("darkred", "white", "darkblue", "white",
& & & & & & & &"white", "white", "darkgreen"),
&cex = 2.5,
&fontfamily = "serif",
&fontface = "bold",
&cat.default.pos = "text",
&cat.col = c("darkred", "darkblue", "darkgreen"),
&cat.cex = 2.5,
&cat.fontfamily = "serif",
&cat.dist = c(0.06, 0.06, 0.03),
&cat.pos = 0
# Figure 1D
venn.plot &- venn.diagram(
&x = list(
& &I = c(1:60, 61:105, 106:140, 141:160, 166:175, 176:180, 181:205,
& & & & &206:220),
& &IV = c(531:605, 476:530, 336:375, 376:405, 181:205, 206:220, 166:175,
& & & & & 176:180),
& &II = c(61:105, 106:140, 181:205, 206:220, 221:285, 286:335, 336:375,
& & & & & 376:405),
& &III = c(406:475, 286:335, 106:140, 141:160, 166:175, 181:205, 336:375,
& & & & & &476:530)
&filename = "1D-quadruple_Venn.tiff",
&col = "black",
&lty = "dotted",
&fill = c("cornflowerblue", "green", "yellow", "darkorchid1"),
&alpha = 0.50,
&label.col = c("orange", "white", "darkorchid4", "white", "white", "white",
& & & & & & & &"white", "white", "darkblue", "white",
& & & & & & & &"white", "white", "white", "darkgreen", "white"),
&cex = 2.5,
&fontfamily = "serif",
&fontface = "bold",
&cat.col = c("darkblue", "darkgreen", "orange", "darkorchid4"),
&cat.cex = 2.5,
&cat.fontfamily = "serif"
# Figure 2-1
venn.plot &- venn.diagram(
&x = list(
& &A = 1:105,
& &B = 101:115
&filename = "2-1_special_case_ext-text.tiff",
&cex = 2.5,
&cat.cex = 2.5,
&cat.pos = c(-20, 20),
&ext.line.lty = "dotted",
&ext.line.lwd = 2,
&ext.pos = 12,
&ext.dist = -0.12,
&ext.length = 0.85
# Figure 2-2
venn.plot &- venn.diagram(
&x = list(
& &A = 1:100,
& &B = 1:10
&filename = "2-2_special_case_pairwise-inclusion.tiff",
&cex = 2.5,
&cat.cex = 2.5,
&cat.pos = 0
# Figure 2-3
venn.plot &- venn.diagram(
&x = list(
& &A = 1:150,
& &B = 151:250
&filename = "2-3_special_case_pairwise-exclusion.tiff",
&cex = 2.5,
&cat.cex = 2.5,
&cat.pos = c(0, 0),
&cat.dist = 0.05
# Figure 2-4
venn.plot &- venn.diagram(
&x = list(
& &A = c(1:50, 101:140, 141:160, 161:170),
& &B = c(171:230, 101:140, 161:170, 291:320),
& &C = c(141:160, 161:170, 291:320)
&filename = "2-4_triple_special_case-001.tiff",
&cex = 2.5,
&cat.cex = 2.5,
&cat.dist = c(0.05, 0.05, -0.1)
# Figure 2-5
venn.plot &- venn.diagram(
&x = list(
& &A = c(1:100),
& &B = c(61:70, 71:100),
& &C = c(41:60, 61:70)
&filename = "2-5_triple_special_case-012AA.tiff",
&cex = 2.5,
&cat.cex = 2.5,
&cat.pos = c(-25, 0, 30),
&cat.dist = c(0.05, 0.05, 0.02)
# Figure 2-6
venn.plot &- venn.diagram(
&x = list(
& &A = c(1:90),
& &B = c(1:25),
& &C = c(1:5)
&filename = "2-6_triple_special_case-022AAAO.tiff",
&cex = 2.5,
&cat.cex = 2.5,
&cat.pos = 0,
&cat.dist = c(0.03, 0.03, 0.01)
# Figure 2-7
venn.plot &- venn.diagram(
&x = list(
& &A = c(1:20),
& &B = c(21:80),
& &C = c(81:210)
&filename = "2-7_triple_special_case-100.tiff",
&cex = 2.5,
&cat.cex = 2.5,
&cat.dist = 0.05
# Figure 2-8
venn.plot &- venn.diagram(
&x = list(
& &A = c(1:80),
& &B = c(41:150),
& &C = c(71:100)
&filename = "2-8_triple_special_case-011A.tiff",
&cex = 2.5,
&cat.cex = 2.5,
&cat.dist = c(0.07, 0.07, 0.02),
&cat.pos = c(-20, 20, 20)
# Figure 2-9
venn.plot &- venn.diagram(
&x = list(
& &A = c(1:10),
& &B = c(11:90),
& &C = c(81:90)
&filename = "2-9_triple_special_case-121AO.tiff",
&cex = 2.5,
&cat.cex = 2.5,
&cat.pos = 0,
&cat.dist = c(0.04, 0.04, 0.02),
&reverse = TRUE
下页更精彩:1利用R语言绘制韦恩图
有关韦恩图的说明请参见,此处就不再赘述了。R中提供了多个可用于绘制韦恩图的软件包,本文主要是介绍的是VennDiagram包。
首先加载相应的软件包:
library(VennDiagram)
生成几个集合并计算各个集合及其相互交集的大小:
B = c(121:170,300:320)
C = c(20:40,141:200)
Length_A&-length(A)
Length_B&-length(B)
Length_C&-length(C)
Length_AB&-length(intersect(A,B))
Length_BC&-length(intersect(B,C))
Length_AC&-length(intersect(A,C))
Length_ABC&-length(intersect(intersect(A,B),C))
利用通用函数venn.diagram绘制两个集合的韦恩图:
T&-venn.diagram(list(A=A,B=B),filename=NULL
,lwd=1,lty=2
,col=c('red','green'),fill=c('red','green')
,cat.col=c('red','green')
,rotation.degree=90)
grid.draw(T)
其中,参数filename指定用于保存图形文件的文件名,如果希望在当前的图形窗口中看到绘制的韦恩图,则filename必须为空;若希望将绘制的图形直接保存为某文件,则直接使用venn.diagram(...,filename='*')即可完成。参数fill表示各个集合对应的圆的填充颜色,col表示对应的圆周的颜色,而cat.col则表示集合名称的显示颜色。lwd用于设定圆弧的宽度,lty用于设定圆弧的线型。参数rotation.degree则可用于调整图形的旋转角度。
利用函数venn.diagram绘制三个集合的韦恩图:
T&-venn.diagram(list(A=A,B=B,C=C),filename=NULL
,lwd=1,lty=2,col=c('red','green','blue')
,fill=c('red','green','blue')
,cat.col=c('red','green','blue')
,reverse=TRUE)
grid.draw(T)
从上面的两个例子可以看出函数venn.diagram是利用集合作为参数绘制韦恩图的,但是有时候我们并不知道各个集合都包含什么元素,而只知道集合及相互之间交集的大小,这个时候如何绘制韦恩图呢?包VennDiagram还给我们提供了另外几个函数:绘制两个集合的韦恩图的draw.pairwise.venn,三个集合的draw.triple.venn,四个、五个集合的draw.quad.venn、draw.quintuple.venn。我们此处只介绍前两个函数的用法。
利用函数draw.pairwise.venn绘制两个集合的韦恩图:
draw.pairwise.venn(area1=Length_A,area2=Length_B,cross.area=Length_AB
,category=c('A','B'),lwd=rep(1,1),lty=rep(2,2)
,col=c('red','green'),fill=c('red','green')
,cat.col=c('red','green')
,rotation.degree=90)
其中area1指第一个集合的大小,area2指第二个集合的大小,而cross.area则指交集的大小。参数category用于指定集合名称。其余参数与venn.diagram相同。
利用函数draw.triple.venn绘制三个集合的韦恩图:
draw.triple.venn(area1=Length_A, area2=Length_B,
area3=Length_C
,n12=Length_AB, n23=Length_BC, n13=Length_AC,
n123=Length_ABC
,category = c('A','B','C')
,col=c('red','green','blue'),fill=c('red','green','blue')
,cat.col=c('red','green','blue')
,reverse = FALSE)
同draw.pairwise.venn类似,area1、area2、area3分别指第一个、第二个、第三个集合的大小。n12表示第一个与第二个集合的交集大小,n23、n13也是类似,n123指三个集合的交集大小。reverse则指是否对图形进行反转。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。苹果/安卓/wp
积分 60, 距离下一级还需 25 积分
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡下一级可获得
权限: 自定义头衔
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
在写代码的时候,需要多次求多个集合的交集,如果用Intersection只能一次求2个,这样太麻烦了。
请问各位大神,有一次求多个集合的交集的方法吗?
比如一次求A,B,C,D,E五个集合的交集,应该用什么函数,或者什么代码?
支持楼主:、
购买后,论坛将把您花费的资金全部奖励给楼主,以表示您对TA发好贴的支持
载入中......
本帖被以下文库推荐
& |主题: 121, 订阅: 14
给你一段代码,你就明白了:
Reduce(intersect,&&list(v1 = c(&a&,&b&,&c&,&d&),
& && && && &&&v2 = c(&a&,&b&,&e&),
& && && && &&&v3 = c(&a&,&f&,&g&))) 复制代码
总评分:&学术水平 + 4&
热心指数 + 4&
谢谢啦,很好用哈哈哈
jiangbeilu 发表于
给你一段代码,你就明白了:
初级热心勋章
初级热心勋章
中级热心勋章
中级热心勋章
初级信用勋章
初级信用勋章
初级学术勋章
初级学术勋章
中级信用勋章
中级信用勋章
高级热心勋章
高级热心勋章
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
论坛法律顾问:王进律师

我要回帖

更多关于 求字符的所有组合 的文章

 

随机推荐