Impute missing data in a list of matrices. Matrices are first given the same dimension, then missing entries are filled by computing the average value in non-missing corresponding entries in all matrices.
Value
Returns a list of matrices with same dimensions, with rows and columns in the same order and missing data (if any) imputed.
Examples
data(carnivora)
matrices <- phylter(carnivora, InitialOnly = TRUE, parallel = FALSE)$matrices
#>
#> Number of Genes: 125
#> Number of Species: 53
#> --------
# remove n species randomly (n between 1 and 5) in each matrix (to mimic missing data)
fun<-function(mat) {
species2remove<-sample(1:nrow(mat),sample(1:5,1))
mat<-mat[-species2remove,-species2remove]
return(mat)
}
matrices.missing<-lapply(matrices, fun)
#check that all matrices have now different dimensions:
lapply(matrices.missing, dim)
#> $ENSG00000004478_FKBP4
#> [1] 48 48
#>
#> $ENSG00000005381_MPO
#> [1] 49 49
#>
#> $ENSG00000007944_MYLIP
#> [1] 48 48
#>
#> $ENSG00000012963_UBR7
#> [1] 49 49
#>
#> $ENSG00000022355_GABRA1
#> [1] 51 51
#>
#> $ENSG00000023909_GCLM
#> [1] 50 50
#>
#> $ENSG00000036473_OTC
#> [1] 52 52
#>
#> $ENSG00000048140_TSPAN17
#> [1] 51 51
#>
#> $ENSG00000049449_RCN1
#> [1] 52 52
#>
#> $ENSG00000051620_HEBP2
#> [1] 52 52
#>
#> $ENSG00000054796_SPO11
#> [1] 51 51
#>
#> $ENSG00000069943_PIGB
#> [1] 52 52
#>
#> $ENSG00000070010_UFD1
#> [1] 51 51
#>
#> $ENSG00000072954_TMEM38A
#> [1] 52 52
#>
#> $ENSG00000073111_MCM2
#> [1] 49 49
#>
#> $ENSG00000075336_TIMM21
#> [1] 50 50
#>
#> $ENSG00000075975_MKRN2
#> [1] 51 51
#>
#> $ENSG00000079689_SCGN
#> [1] 49 49
#>
#> $ENSG00000090432_MUL1
#> [1] 50 50
#>
#> $ENSG00000092010_PSME1
#> [1] 49 49
#>
#> $ENSG00000092067_CEBPE
#> [1] 51 51
#>
#> $ENSG00000095380_NANS
#> [1] 49 49
#>
#> $ENSG00000100078_PLA2G3
#> [1] 50 50
#>
#> $ENSG00000100591_AHSA1
#> [1] 52 52
#>
#> $ENSG00000100604_CHGA
#> [1] 52 52
#>
#> $ENSG00000100625_SIX4
#> [1] 48 48
#>
#> $ENSG00000102003_SYP
#> [1] 49 49
#>
#> $ENSG00000102245_CD40LG
#> [1] 52 52
#>
#> $ENSG00000102543_CDADC1
#> [1] 52 52
#>
#> $ENSG00000104147_OIP5
#> [1] 48 48
#>
#> $ENSG00000104221_BRF2
#> [1] 49 49
#>
#> $ENSG00000104679_R3HCC1
#> [1] 51 51
#>
#> $ENSG00000105141_CASP14
#> [1] 49 49
#>
#> $ENSG00000105197_TIMM50
#> [1] 48 48
#>
#> $ENSG00000105254_TBCB
#> [1] 50 50
#>
#> $ENSG00000105258_POLR2I
#> [1] 50 50
#>
#> $ENSG00000106128_GHRHR
#> [1] 51 51
#>
#> $ENSG00000106511_MEOX2
#> [1] 49 49
#>
#> $ENSG00000107815_TWNK
#> [1] 48 48
#>
#> $ENSG00000109072_VTN
#> [1] 51 51
#>
#> $ENSG00000109471_IL2
#> [1] 51 51
#>
#> $ENSG00000110057_UNC93B1
#> [1] 49 49
#>
#> $ENSG00000110811_P3H3
#> [1] 48 48
#>
#> $ENSG00000110944_IL23A
#> [1] 51 51
#>
#> $ENSG00000112096_SOD2
#> [1] 52 52
#>
#> $ENSG00000113302_IL12B
#> [1] 48 48
#>
#> $ENSG00000113555_PCDH12
#> [1] 50 50
#>
#> $ENSG00000113734_BNIP1
#> [1] 49 49
#>
#> $ENSG00000114388_NPRL2
#> [1] 49 49
#>
#> $ENSG00000114491_UMPS
#> [1] 51 51
#>
#> $ENSG00000114638_UPK1B
#> [1] 51 51
#>
#> $ENSG00000114686_MRPL3
#> [1] 51 51
#>
#> $ENSG00000114779_ABHD14B
#> [1] 52 52
#>
#> $ENSG00000115665_SLC5A7
#> [1] 49 49
#>
#> $ENSG00000116157_GPX7
#> [1] 50 50
#>
#> $ENSG00000116761_CTH
#> [1] 50 50
#>
#> $ENSG00000117600_PLPPR4
#> [1] 49 49
#>
#> $ENSG00000118271_TTR
#> [1] 48 48
#>
#> $ENSG00000119396_RAB14
#> [1] 48 48
#>
#> $ENSG00000120053_GOT1
#> [1] 50 50
#>
#> $ENSG00000120659_TNFSF11
#> [1] 49 49
#>
#> $ENSG00000121073_SLC35B1
#> [1] 51 51
#>
#> $ENSG00000121900_TMEM54
#> [1] 51 51
#>
#> $ENSG00000123307_NEUROD4
#> [1] 50 50
#>
#> $ENSG00000123999_INHA
#> [1] 52 52
#>
#> $ENSG00000124357_NAGK
#> [1] 51 51
#>
#> $ENSG00000125538_IL1B
#> [1] 50 50
#>
#> $ENSG00000126353_CCR7
#> [1] 52 52
#>
#> $ENSG00000127337_YEATS4
#> [1] 52 52
#>
#> $ENSG00000127993_RBM48
#> [1] 51 51
#>
#> $ENSG00000128463_EMC4
#> [1] 48 48
#>
#> $ENSG00000128886_ELL3
#> [1] 49 49
#>
#> $ENSG00000128965_CHAC1
#> [1] 48 48
#>
#> $ENSG00000130766_SESN2
#> [1] 48 48
#>
#> $ENSG00000131013_PPIL4
#> [1] 49 49
#>
#> $ENSG00000132254_ARFIP2
#> [1] 51 51
#>
#> $ENSG00000132275_RRP8
#> [1] 49 49
#>
#> $ENSG00000132463_GRSF1
#> [1] 50 50
#>
#> $ENSG00000132693_CRP
#> [1] 51 51
#>
#> $ENSG00000133065_SLC41A1
#> [1] 48 48
#>
#> $ENSG00000133135_RNF128
#> [1] 52 52
#>
#> $ENSG00000133318_RTN3
#> [1] 49 49
#>
#> $ENSG00000134107_BHLHE40
#> [1] 50 50
#>
#> $ENSG00000134240_HMGCS2
#> [1] 48 48
#>
#> $ENSG00000134588_USP26
#> [1] 49 49
#>
#> $ENSG00000134901_KDELC1
#> [1] 51 51
#>
#> $ENSG00000135452_TSPAN31
#> [1] 49 49
#>
#> $ENSG00000135469_COQ10A
#> [1] 51 51
#>
#> $ENSG00000136156_ITM2B
#> [1] 49 49
#>
#> $ENSG00000136634_IL10
#> [1] 52 52
#>
#> $ENSG00000136807_CDK9
#> [1] 52 52
#>
#> $ENSG00000136932_TRMO
#> [1] 49 49
#>
#> $ENSG00000136999_NOV
#> [1] 52 52
#>
#> $ENSG00000138231_DBR1
#> [1] 48 48
#>
#> $ENSG00000138675_FGF5
#> [1] 50 50
#>
#> $ENSG00000139572_GPR84
#> [1] 50 50
#>
#> $ENSG00000140274_DUOXA2
#> [1] 51 51
#>
#> $ENSG00000140450_ARRDC4
#> [1] 51 51
#>
#> $ENSG00000140459_CYP11A1
#> [1] 51 51
#>
#> $ENSG00000141200_KIF2B
#> [1] 50 50
#>
#> $ENSG00000141349_G6PC3
#> [1] 49 49
#>
#> $ENSG00000141753_IGFBP4
#> [1] 48 48
#>
#> $ENSG00000142039_CCDC97
#> [1] 51 51
#>
#> $ENSG00000142733_MAP3K6
#> [1] 48 48
#>
#> $ENSG00000142871_CYR61
#> [1] 51 51
#>
#> $ENSG00000143125_PROK1
#> [1] 48 48
#>
#> $ENSG00000143153_ATP1B1
#> [1] 50 50
#>
#> $ENSG00000143196_DPT
#> [1] 49 49
#>
#> $ENSG00000143942_CHAC2
#> [1] 48 48
#>
#> $ENSG00000144136_SLC20A1
#> [1] 51 51
#>
#> $ENSG00000144355_DLX1
#> [1] 50 50
#>
#> $ENSG00000145050_MANF
#> [1] 48 48
#>
#> $ENSG00000145384_FABP2
#> [1] 52 52
#>
#> $ENSG00000145391_SETD7
#> [1] 51 51
#>
#> $ENSG00000145649_GZMA
#> [1] 50 50
#>
#> $ENSG00000147457_CHMP7
#> [1] 48 48
#>
#> $ENSG00000147679_UTP23
#> [1] 52 52
#>
#> $ENSG00000148229_POLE3
#> [1] 50 50
#>
#> $ENSG00000148331_ASB6
#> [1] 50 50
#>
#> $ENSG00000148334_PTGES2
#> [1] 51 51
#>
#> $ENSG00000148677_ANKRD1
#> [1] 51 51
#>
#> $ENSG00000148795_CYP17A1
#> [1] 49 49
#>
#> $ENSG00000149243_KLHL35
#> [1] 48 48
#>
#> $ENSG00000149573_MPZL2
#> [1] 52 52
#>
#> $ENSG00000151611_MMAA
#> [1] 48 48
#>
# Impute data to get back to the same dimensions
matrices.ok<-impMean(matrices.missing)
lapply(matrices.ok, dim) #all dimensions are now identical. Missing data have been imputed.
#> $ENSG00000004478_FKBP4
#> [1] 53 53
#>
#> $ENSG00000005381_MPO
#> [1] 53 53
#>
#> $ENSG00000007944_MYLIP
#> [1] 53 53
#>
#> $ENSG00000012963_UBR7
#> [1] 53 53
#>
#> $ENSG00000022355_GABRA1
#> [1] 53 53
#>
#> $ENSG00000023909_GCLM
#> [1] 53 53
#>
#> $ENSG00000036473_OTC
#> [1] 53 53
#>
#> $ENSG00000048140_TSPAN17
#> [1] 53 53
#>
#> $ENSG00000049449_RCN1
#> [1] 53 53
#>
#> $ENSG00000051620_HEBP2
#> [1] 53 53
#>
#> $ENSG00000054796_SPO11
#> [1] 53 53
#>
#> $ENSG00000069943_PIGB
#> [1] 53 53
#>
#> $ENSG00000070010_UFD1
#> [1] 53 53
#>
#> $ENSG00000072954_TMEM38A
#> [1] 53 53
#>
#> $ENSG00000073111_MCM2
#> [1] 53 53
#>
#> $ENSG00000075336_TIMM21
#> [1] 53 53
#>
#> $ENSG00000075975_MKRN2
#> [1] 53 53
#>
#> $ENSG00000079689_SCGN
#> [1] 53 53
#>
#> $ENSG00000090432_MUL1
#> [1] 53 53
#>
#> $ENSG00000092010_PSME1
#> [1] 53 53
#>
#> $ENSG00000092067_CEBPE
#> [1] 53 53
#>
#> $ENSG00000095380_NANS
#> [1] 53 53
#>
#> $ENSG00000100078_PLA2G3
#> [1] 53 53
#>
#> $ENSG00000100591_AHSA1
#> [1] 53 53
#>
#> $ENSG00000100604_CHGA
#> [1] 53 53
#>
#> $ENSG00000100625_SIX4
#> [1] 53 53
#>
#> $ENSG00000102003_SYP
#> [1] 53 53
#>
#> $ENSG00000102245_CD40LG
#> [1] 53 53
#>
#> $ENSG00000102543_CDADC1
#> [1] 53 53
#>
#> $ENSG00000104147_OIP5
#> [1] 53 53
#>
#> $ENSG00000104221_BRF2
#> [1] 53 53
#>
#> $ENSG00000104679_R3HCC1
#> [1] 53 53
#>
#> $ENSG00000105141_CASP14
#> [1] 53 53
#>
#> $ENSG00000105197_TIMM50
#> [1] 53 53
#>
#> $ENSG00000105254_TBCB
#> [1] 53 53
#>
#> $ENSG00000105258_POLR2I
#> [1] 53 53
#>
#> $ENSG00000106128_GHRHR
#> [1] 53 53
#>
#> $ENSG00000106511_MEOX2
#> [1] 53 53
#>
#> $ENSG00000107815_TWNK
#> [1] 53 53
#>
#> $ENSG00000109072_VTN
#> [1] 53 53
#>
#> $ENSG00000109471_IL2
#> [1] 53 53
#>
#> $ENSG00000110057_UNC93B1
#> [1] 53 53
#>
#> $ENSG00000110811_P3H3
#> [1] 53 53
#>
#> $ENSG00000110944_IL23A
#> [1] 53 53
#>
#> $ENSG00000112096_SOD2
#> [1] 53 53
#>
#> $ENSG00000113302_IL12B
#> [1] 53 53
#>
#> $ENSG00000113555_PCDH12
#> [1] 53 53
#>
#> $ENSG00000113734_BNIP1
#> [1] 53 53
#>
#> $ENSG00000114388_NPRL2
#> [1] 53 53
#>
#> $ENSG00000114491_UMPS
#> [1] 53 53
#>
#> $ENSG00000114638_UPK1B
#> [1] 53 53
#>
#> $ENSG00000114686_MRPL3
#> [1] 53 53
#>
#> $ENSG00000114779_ABHD14B
#> [1] 53 53
#>
#> $ENSG00000115665_SLC5A7
#> [1] 53 53
#>
#> $ENSG00000116157_GPX7
#> [1] 53 53
#>
#> $ENSG00000116761_CTH
#> [1] 53 53
#>
#> $ENSG00000117600_PLPPR4
#> [1] 53 53
#>
#> $ENSG00000118271_TTR
#> [1] 53 53
#>
#> $ENSG00000119396_RAB14
#> [1] 53 53
#>
#> $ENSG00000120053_GOT1
#> [1] 53 53
#>
#> $ENSG00000120659_TNFSF11
#> [1] 53 53
#>
#> $ENSG00000121073_SLC35B1
#> [1] 53 53
#>
#> $ENSG00000121900_TMEM54
#> [1] 53 53
#>
#> $ENSG00000123307_NEUROD4
#> [1] 53 53
#>
#> $ENSG00000123999_INHA
#> [1] 53 53
#>
#> $ENSG00000124357_NAGK
#> [1] 53 53
#>
#> $ENSG00000125538_IL1B
#> [1] 53 53
#>
#> $ENSG00000126353_CCR7
#> [1] 53 53
#>
#> $ENSG00000127337_YEATS4
#> [1] 53 53
#>
#> $ENSG00000127993_RBM48
#> [1] 53 53
#>
#> $ENSG00000128463_EMC4
#> [1] 53 53
#>
#> $ENSG00000128886_ELL3
#> [1] 53 53
#>
#> $ENSG00000128965_CHAC1
#> [1] 53 53
#>
#> $ENSG00000130766_SESN2
#> [1] 53 53
#>
#> $ENSG00000131013_PPIL4
#> [1] 53 53
#>
#> $ENSG00000132254_ARFIP2
#> [1] 53 53
#>
#> $ENSG00000132275_RRP8
#> [1] 53 53
#>
#> $ENSG00000132463_GRSF1
#> [1] 53 53
#>
#> $ENSG00000132693_CRP
#> [1] 53 53
#>
#> $ENSG00000133065_SLC41A1
#> [1] 53 53
#>
#> $ENSG00000133135_RNF128
#> [1] 53 53
#>
#> $ENSG00000133318_RTN3
#> [1] 53 53
#>
#> $ENSG00000134107_BHLHE40
#> [1] 53 53
#>
#> $ENSG00000134240_HMGCS2
#> [1] 53 53
#>
#> $ENSG00000134588_USP26
#> [1] 53 53
#>
#> $ENSG00000134901_KDELC1
#> [1] 53 53
#>
#> $ENSG00000135452_TSPAN31
#> [1] 53 53
#>
#> $ENSG00000135469_COQ10A
#> [1] 53 53
#>
#> $ENSG00000136156_ITM2B
#> [1] 53 53
#>
#> $ENSG00000136634_IL10
#> [1] 53 53
#>
#> $ENSG00000136807_CDK9
#> [1] 53 53
#>
#> $ENSG00000136932_TRMO
#> [1] 53 53
#>
#> $ENSG00000136999_NOV
#> [1] 53 53
#>
#> $ENSG00000138231_DBR1
#> [1] 53 53
#>
#> $ENSG00000138675_FGF5
#> [1] 53 53
#>
#> $ENSG00000139572_GPR84
#> [1] 53 53
#>
#> $ENSG00000140274_DUOXA2
#> [1] 53 53
#>
#> $ENSG00000140450_ARRDC4
#> [1] 53 53
#>
#> $ENSG00000140459_CYP11A1
#> [1] 53 53
#>
#> $ENSG00000141200_KIF2B
#> [1] 53 53
#>
#> $ENSG00000141349_G6PC3
#> [1] 53 53
#>
#> $ENSG00000141753_IGFBP4
#> [1] 53 53
#>
#> $ENSG00000142039_CCDC97
#> [1] 53 53
#>
#> $ENSG00000142733_MAP3K6
#> [1] 53 53
#>
#> $ENSG00000142871_CYR61
#> [1] 53 53
#>
#> $ENSG00000143125_PROK1
#> [1] 53 53
#>
#> $ENSG00000143153_ATP1B1
#> [1] 53 53
#>
#> $ENSG00000143196_DPT
#> [1] 53 53
#>
#> $ENSG00000143942_CHAC2
#> [1] 53 53
#>
#> $ENSG00000144136_SLC20A1
#> [1] 53 53
#>
#> $ENSG00000144355_DLX1
#> [1] 53 53
#>
#> $ENSG00000145050_MANF
#> [1] 53 53
#>
#> $ENSG00000145384_FABP2
#> [1] 53 53
#>
#> $ENSG00000145391_SETD7
#> [1] 53 53
#>
#> $ENSG00000145649_GZMA
#> [1] 53 53
#>
#> $ENSG00000147457_CHMP7
#> [1] 53 53
#>
#> $ENSG00000147679_UTP23
#> [1] 53 53
#>
#> $ENSG00000148229_POLE3
#> [1] 53 53
#>
#> $ENSG00000148331_ASB6
#> [1] 53 53
#>
#> $ENSG00000148334_PTGES2
#> [1] 53 53
#>
#> $ENSG00000148677_ANKRD1
#> [1] 53 53
#>
#> $ENSG00000148795_CYP17A1
#> [1] 53 53
#>
#> $ENSG00000149243_KLHL35
#> [1] 53 53
#>
#> $ENSG00000149573_MPZL2
#> [1] 53 53
#>
#> $ENSG00000151611_MMAA
#> [1] 53 53
#>