Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:将文件名传递给参数_R_Bioinformatics - Fatal编程技术网

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