我有超过300个具有相同维度的tsv文件。所有文件的列标题都相同。我希望过滤这些文件中的每一个,以便只包含满足特定于一列的条件的行。例如,我希望包括“列A”=“基因1”或“基因2”或“基因3”的任何行。我还想把所有文件中的子集化数据合并到1 df中,并添加一个额外的列,这样我就知道每行来自哪个文件。我对R相当陌生,所以我没有编写应用于多个文件的脚本的经验。
我以前用过filter函数,但如何将其应用于多个文件?我应该合并所有文件中的数据,然后进行过滤吗?如果是,那么我如何在合并所有文件之前为每个文件的文件名添加一个额外的列?我读过for循环,但当我尝试使用它时,我得到了一个错误消息:Error in file(file, "rt") : invalid 'description' argument
.任何帮助都将不胜感激!
for(i in M_Data){
dat <- read_tsv (paste("/Users/EM/Desktop/Files",i,sep="\t"))
dat$Source <- i
M_Data_Merge <- rbind(M_Data_Merge,dat)
}
1条答案
按热度按时间pgvzfuti1#
data.table是您完成此任务的朋友: