R:将文件名传递给参数
目前正在从物种列表中绘制生物信息图,行分隔。我有五个基因覆盖,我正在生成匹配物种的重叠(即核糖体基因覆盖率比较)R:将文件名传递给参数,r,bioinformatics,R,Bioinformatics,目前正在从物种列表中绘制生物信息图,行分隔。我有五个基因覆盖,我正在生成匹配物种的重叠(即核糖体基因覆盖率比较) RScript VennGenSpec.R Gene1Spec Gene2Spec Gene3Spec Gene4Spec Gene5Spec Output 现在我正在以pdf格式生成五个集合维恩图,但我想对函数进行概括,以允许不同数量的物种集合。如何生成一些读取可变数量列表的循环?(例如,根据输入的数量,生成4套VENN和7套VENN。) RScript VennGenSpec.
RScript VennGenSpec.R Gene1Spec Gene2Spec Gene3Spec Gene4Spec Gene5Spec Output
现在我正在以pdf格式生成五个集合维恩图,但我想对函数进行概括,以允许不同数量的物种集合。如何生成一些读取可变数量列表的循环?(例如,根据输入的数量,生成4套VENN和7套VENN。)
RScript VennGenSpec.R Gene1Spec Gene2Spec Gene3Spec Gene4Spec Gene5Spec Output
#安装维恩软件包
#安装软件包(“venn”)
图书馆(“维恩”)
#加载分类表
args如果没有数据来测试代码,就不可能知道下面的内容是否符合您的要求,但至少很明显,它相当于您的代码,而且简单得多
RScript VennGenSpec.R Gene1Spec Gene2Spec Gene3Spec Gene4Spec Gene5Spec Output
它一次读取所有data.frames并将它们保存在列表中,fi
。然后,提取每个df的第一列,并将结果向量列表传递给venn
RScript VennGenSpec.R Gene1Spec Gene2Spec Gene3Spec Gene4Spec Gene5Spec Output
library("venn")
# load taxa lists
args <- commandArgs(trailingOnly = TRUE)
n <- length(args)
fi <- args[-n]
out <- args[n]
##get lists
a <- lapply(fi, read.table)
##get first column of each data.frame
a1 <- lapply(a, `[[`, 1)
#set pdf output
pdf(paste(out, "pdf", sep = "."))
#plot venn
venn(a1,
snames = paste0("G", seq_along(a1)),
counts = NULL, ellipse = FALSE,
zcolor = "style", size = 15,
cexsn = 1, borders = TRUE
)
dev.off()
library(“venn”)
#加载分类表
啊,谢谢你的简化!它似乎确实与许多案例一起运行。我肯定能够以这种方式在另一个脚本上使用Lappy。[老实说,这是我第一次尝试R中的某些东西,我这样做是作为一个周末/学习经验。]是否可以将文件名传递到数据框,并将其用于标记集合列表?从较大的数据集中选择后,所有输入文件都标有感兴趣的基因##获取列表a