合并具有特定列长度不同长度的多个表

时间:2020-09-03 10:38:11

标签: r merge

我要按列V1合并的文件夹中有多个数据表。如果在数据帧中找不到ID(V1),则应在数据表中为该特定ID保留NA或0。

我已经尝试过这种解决方案,但是它要求所有ID都在所有数据帧中。

setwd("../")
file_list = list.files(pattern="*.csv")    



datalist = lapply(file_list, function(x){
  dat = read.csv(file=x, header=F, sep = "\t")
  names(dat)[2] = x
  return(dat)
})
library(plyr); library(dplyr)
joined <- join_all(dfs = datalist,by = "V1",type ="full" )  

示例输入:

> head(a)
                                                            V1     V2
1     oni-miR-8159_MIMAT0042837_Oreochromis_niloticus_miR-8159 990663
2 oni-miR-148-3p_MIMAT0042824_Oreochromis_niloticus_miR-148-3p 205000
3       oni-miR-122_MIMAT0042727_Oreochromis_niloticus_miR-122 164163
4         oni-let-7a_MIMAT0042659_Oreochromis_niloticus_let-7a  58769
5         oni-let-7a_MIMAT0042659_Oreochromis_niloticus_let-7a  58769
6         oni-let-7a_MIMAT0042659_Oreochromis_niloticus_let-7a  58554
> head(b)
                                                      V1     V2
1 oni-miR-122_MIMAT0042727_Oreochromis_niloticus_miR-122 224691
2 oni-miR-143_MIMAT0042647_Oreochromis_niloticus_miR-143 173663
3 oni-miR-26a_MIMAT0042651_Oreochromis_niloticus_miR-26a 111156
4 oni-miR-26a_MIMAT0042651_Oreochromis_niloticus_miR-26a 110569
5 oni-miR-26a_MIMAT0042651_Oreochromis_niloticus_miR-26a 110534
6 oni-miR-192_MIMAT0042644_Oreochromis_niloticus_miR-192  80646
> head(c)
                                                      V1     V2
1 oni-miR-122_MIMAT0042727_Oreochromis_niloticus_miR-122 176167
2 oni-miR-145_MIMAT0043395_Oreochromis_niloticus_miR-145  96204
3   oni-let-7a_MIMAT0042659_Oreochromis_niloticus_let-7a  71627
4   oni-let-7a_MIMAT0042659_Oreochromis_niloticus_let-7a  71627
5   oni-let-7a_MIMAT0042659_Oreochromis_niloticus_let-7a  71568
6   oni-let-7a_MIMAT0042659_Oreochromis_niloticus_let-7a  71563

0 个答案:

没有答案
相关问题