【发布时间】:2020-08-14 19:05:17
【问题描述】:
我有两个基因列表,我想在维恩图中表示这些列表之间的重叠。有人可以建议我在下面的代码中缺少什么吗?我正在使用 VennDiagram 包,我得到的结果是两个不相交的圆圈。我还使用 Venny https://bioinfogp.cnb.csic.es/tools/venny/index2.0.2.html 绘制了 venn 并确认存在重叠。
library(VennDiagram)
#select the data
dataset1 <- data.frame(as.character(v7$HGNC_Symbol)) #567 genes
dataset2 <- data.frame(as.character(test$toupper.v13.HGNC_Symbol.)) #476 genes
#rename the columns so I know the source
names(dataset1)[1] <- "Progenesis"
names(dataset2)[1] <- "BiomaRt"
#sort the dataframes alphabetically
dataset1 <- dataset1 %>% arrange(Progenesis)
dataset2 <- dataset2 %>% arrange(BiomaRt)
#create a list of numbers and join it to dataframe1
mylist <- c(1:592)
dataset1 <- data.frame(mylist, dataset1)
#create a list of numbers and join it to dataframe2
mylist <- c(1:494)
dataset2 <- data.frame(mylist, dataset2)
#join the two dataframes
v <- plyr::join(dataset1, dataset2, type='full')
#draw the Venn Diagram
Dataset1 <- as.vector(v$Progenesis)
Dataset2 <- as.vector(v$BiomaRt)
Dataset2 <- na.omit(Dataset2)
#first 20 rows of each dataset
dput(Dataset1)
c("AACS ", "AARS ", "ABCF1 ", "ACAD11 ", "ACIN1 ", "ACO1 ", "ACOX3 ",
"ACP1 ", "ACSL3 ", "ACY1A ", "ACYP1 ", "ADA ", "ADI1 ", "ADK ",
"ADSL ", "ADSS ", "AGPAT3 ", "AHSA2 ", "AK4 ", "AKAP1 ")
dput(Dataset2)
structure(c("AACS", "AARS", "AARS", "ABCF1", "ACAD11", "ACIN1",
"ACO1", "ACOX3", "ACSL3", "ACYP1", "ADA", "ADI1", "ADK", "ADSL",
"AGPAT3", "AHSA2", "AKAP1", "AKAP12", "AKR1A1", "AKR1A1"),
na.action = structure(495:592, class = "omit"))
venn.diagram(
x = list(Dataset1, Dataset2),
category.names = c("Set1" , "Set2"),
filename = 'venn_diagram.png',
output=TRUE
)
欢迎所有建议。
谢谢
【问题讨论】:
-
您好。只是一个提示:你可以使用
1:494而不是c(seq(1:494))。由于list是数据类型和函数的名称,因此通常最好使用其他名称,例如my_list。是否可以向我们展示一些示例数据? -
嗨,马丁。感谢您的建议。做出了这些改变。如果您需要数据集,最好的附加方法是什么?
标签: r venn-diagram