【问题标题】:how to merge one file with multiple files in a list to generate multiple merged files in R using loop function如何使用循环函数将一个文件与列表中的多个文件合并以在 R 中生成多个合并文件
【发布时间】:2013-06-19 18:35:05
【问题描述】:

我有一个包含 24 个 PAIR 文件的列表。 我想将每个 PAIR 文件与一个 NDF 文件合并,生成 24 个合并的 pair-ndf 文件。 目的是编写每个合并文件以从文件中提取信息以创建 XYS 文件。 但是,在这里,我试图执行一个循环函数来将 NDF 文件与 24 个 PAIR 文件中的每一个文件合并。

#read in files
allfilesList=lapply(list.files(), read.delim, header=TRUE, sep="\t", as.is=TRUE)

#read files in a list, and merge each file with ndf using loop function to merge, Attempt#1
for(file in allfileslist){
if(!exists("dataset")){
dataset=read.table(allfileslist, header=TRUE, sep="\t", as.is=TRUE)
}
for(file in allfileslist){
if(exists("dataset")){
temp_dataset=read.table(allfileslist, header=TRUE, sep="\t")
dataset=merge(file, ndf, by="PROBE_ID", temp_dataset)
rm(temp_dataset)
}
}
#read files in a list, and merge each file with ndf using loop function to merge, Attempt#2
for(i in 1:length(allfileslist)){
readnmerge=read.delim(file=paste(getwd(), allfileslist[i], sep="\t"), header=T)
dataMerge=merge(readnmerge, ndf, by="PROBE_ID")
}

但是,这两种情况似乎都只迭代一个文件,并且 IMAGE_ID 是每个 PAIR 文件中的第一列。

我会继续努力的。虽然,如果有人可以提出更好的方法,请回复。 问候, 富兰克林

【问题讨论】:

  • for 循环应该是dataset = read.table(file, ...)

标签: merge


【解决方案1】:

已经有一段时间了,所以我想我可以帮助回答我自己的问题。 另外,我在 Bioconductor 中找到了 pdInfoBuilder 和 Oligo 包。 有一种方法可以使用 R 将 pair 转换为 xys 文件。 我在这里找到了这篇文章: Manipulating multiple files in R 这非常有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多