我正在处理不同情况(样本)的表格(txt格式),所有表格如下所示:
Sample Chromosome Start End Num_probes Segment_Mean
1 1 3301765 8024757 3057 0.3208
1 1 8029121 8164570 66 0.8332
1 1 8164896 8630844 220 0.3059
1 1 8658852 8890987 157 0.5415
我想一起处理所有这些,为此我正在使用以下代码
fileList <- list.files( ,pattern=".txt")
for (i in fileList){
#print(i)
tbl <- read.table(i, sep="\t", as.is=TRUE, header=TRUE)
tbl$Sample <- i
tbl1 <-tbl[tbl$Chromosome == 1, ]
#print(tbl1)
write.table(tbl1, paste("chr1_", i, sep="") , sep="\t", col.names=T, row.names = F, quote=F)
}
我想将所有表连接在一起,如下所示:
Sample Chromosome Start End Num_probes Segment_Mean
1 1 3301765 8024757 3057 0.3208
1 1 8029121 8164570 66 0.8332
1 1 8164896 8630844 220 0.3059
1 1 8658852 8890987 157 0.5415
2 1 .....
2 1 .....
3 1 ....
我尝试在循环中使用Reduce(function(...) merge(..., all = TRUE),list(tbl1))
,但它没有woork,我也尝试new_tbl = do.call(cbind, tbl1)
但它只需要最后一个df ...任何想法请求?< / p>
谢谢!
答案 0 :(得分:3)
将表保存在列表中时,可以使用filenames <- list.files(your_location, pattern = "*.txt")
tbl <- lapply(filenames, function(x){
read.table(x, sep="\t", as.is=TRUE, header=TRUE)}
new_tbl <- do.call(rbind, tbl)
new_tbl <- new_tbl[new_tbl$Chromosome == 1, ]
:
configChanges