如何解决在地理查询上使用foreach在r中进行并行处理
for循环使用geoquery数据库包遍历具有ID的数据表列,以一次访问两个表。在每次迭代中,两个表被联接,并且该表与前一次迭代的结果表联接。简而言之,每次迭代都使用基因符号列添加一个新列。最终表应该有406列,但只有66列。为什么?我该如何解决这个问题?我正在使用foreach并行处理,我的输出看起来像这样(数据表的输出在最底部):
[[81]]
NULL
下面是一些代码:
count = 0
gpl_dict = dict()
nonfunc_gpl = dict()
registerDoParallel(2)
foreach(i= results$REPO) %dopar% {
GSM = getGEO(i,getGPL=FALSE)
genex = GSM@dataTable@table[,1:2]
platform_char = GSM@header$platform_id
if(platform_char %in% gpl_dict$keys()){
gene_profiles = genex%>%inner_join(gpl_dict[[platform_char]],by=c("ID_REF"="ID"))
} else {
platform_obj = getGEO(platform_char,getGPL=FALSE)
platform = platform_obj@dataTable@table
if("ID" %in% colnames(platform) && str_contains(colnames(platform),"Symbol")){
names(platform)[grepl("Symbol",names(platform))] = "Symbol"
platform = platform[,c("ID","Symbol")]
gpl_dict[[platform_char]] = platform ## add platform table to dict
gene_profiles = genex%>%inner_join(platform,by=c("ID_REF"="ID"))
} else {
nonfunc_gpl[[platform_char]] = platform
next
}
}
gene_profiles = gene_profiles[,c("Symbol","VALUE")]
gene_profiles = gene_profiles[!(gene_profiles$Symbol == "---" | gene_profiles$Symbol == ""),]
names(gene_profiles)[names(gene_profiles) == "VALUE"] = i
if (count == 0){
final_res = gene_profiles
} else {
final_res = final_res%>%full_join(gene_profiles,by="Symbol")
final_res = final_res%>%group_by(Symbol)%>%summarise_all("mean")
}
count = count + 1
}
stopImplicitCluster()
print(head(final_res))
[[81]]
NULL
[[82]]
NULL
[[83]]
NULL
[[84]]
NULL
[[85]]
NULL
[[86]]
NULL
[[87]]
NULL
[[88]]
NULL
[[89]]
NULL
[[90]]
NULL
[[91]]
NULL
[[92]]
NULL
[[93]]
NULL
[[94]]
NULL
[[95]]
NULL
[[96]]
NULL
[[97]]
NULL
[[98]]
NULL
[[99]]
NULL
[[100]]
NULL
[[101]]
NULL
[[102]]
NULL
[[103]]
NULL
[[104]]
NULL
[[105]]
NULL
[[106]]
NULL
[[107]]
NULL
[[108]]
NULL
[[109]]
NULL
[[110]]
NULL
[[111]]
NULL
[[112]]
NULL
[[113]]
NULL
[[114]]
NULL
[[115]]
NULL
[[116]]
NULL
[[117]]
NULL
[[118]]
NULL
[[119]]
NULL
[[120]]
NULL
[[121]]
NULL
[[122]]
NULL
[[123]]
NULL
[[124]]
NULL
[[125]]
NULL
[[126]]
NULL
[[127]]
NULL
[[128]]
NULL
[[129]]
NULL
[[130]]
NULL
[[131]]
NULL
[[132]]
NULL
[[133]]
NULL
[[134]]
NULL
[[135]]
NULL
[[136]]
NULL
[[137]]
NULL
[[138]]
NULL
[[139]]
NULL
[[140]]
NULL
[[141]]
NULL
[[142]]
NULL
[[143]]
NULL
[[144]]
NULL
[[145]]
NULL
[[146]]
NULL
[[147]]
NULL
[[148]]
NULL
[[149]]
NULL
[[150]]
NULL
[[151]]
NULL
[[152]]
NULL
[[153]]
NULL
[[154]]
NULL
[[155]]
NULL
[[156]]
NULL
[[157]]
NULL
[[158]]
NULL
[[159]]
NULL
[[160]]
NULL
[[161]]
NULL
[[162]]
NULL
[[163]]
NULL
[[164]]
NULL
[[165]]
NULL
[[166]]
NULL
[[167]]
NULL
[[168]]
NULL
[[169]]
NULL
[[170]]
NULL
[[171]]
NULL
[[172]]
NULL
[[173]]
NULL
[[174]]
NULL
[[175]]
NULL
[[176]]
NULL
[[177]]
NULL
[[178]]
NULL
[[179]]
NULL
[[180]]
NULL
[[181]]
NULL
[[182]]
NULL
[[183]]
NULL
[[184]]
NULL
[[185]]
NULL
[[186]]
NULL
[[187]]
NULL
[[188]]
NULL
[[189]]
NULL
[[190]]
NULL
[[191]]
NULL
[[192]]
NULL
[[193]]
NULL
[[194]]
NULL
[[195]]
NULL
[[196]]
NULL
[[197]]
NULL
[[198]]
NULL
[[199]]
NULL
[[200]]
NULL
[[201]]
NULL
[[202]]
NULL
[[203]]
NULL
[[204]]
NULL
[[205]]
NULL
[[206]]
NULL
[[207]]
NULL
[[208]]
NULL
[[209]]
NULL
[[210]]
NULL
[[211]]
NULL
[[212]]
NULL
[[213]]
NULL
[[214]]
NULL
[[215]]
NULL
[[216]]
NULL
[[217]]
NULL
[[218]]
NULL
[[219]]
NULL
[[220]]
NULL
[[221]]
NULL
[[222]]
NULL
[[223]]
NULL
[[224]]
NULL
[[225]]
NULL
[[226]]
NULL
[[227]]
NULL
[[228]]
NULL
[[229]]
NULL
[[230]]
NULL
[[231]]
NULL
[[232]]
NULL
[[233]]
NULL
[[234]]
NULL
[[235]]
NULL
[[236]]
NULL
[[237]]
NULL
[[238]]
NULL
[[239]]
NULL
[[240]]
NULL
[[241]]
NULL
[[242]]
NULL
[[243]]
NULL
[[244]]
NULL
[[245]]
NULL
[[246]]
NULL
[[247]]
NULL
[[248]]
NULL
[[249]]
NULL
[[250]]
NULL
[[251]]
NULL
[[252]]
NULL
[[253]]
NULL
[[254]]
NULL
[[255]]
NULL
[[256]]
NULL
[[257]]
NULL
[[258]]
NULL
[[259]]
NULL
[[260]]
NULL
[[261]]
NULL
[[262]]
NULL
[[263]]
NULL
[[264]]
NULL
[[265]]
NULL
[[266]]
NULL
[[267]]
NULL
[[268]]
NULL
[[269]]
NULL
[[270]]
NULL
[[271]]
NULL
[[272]]
NULL
[[273]]
NULL
[[274]]
NULL
[[275]]
NULL
[[276]]
NULL
[[277]]
NULL
[[278]]
NULL
[[279]]
NULL
[[280]]
NULL
[[281]]
NULL
[[282]]
NULL
[[283]]
NULL
[[284]]
NULL
[[285]]
NULL
[[286]]
NULL
[[287]]
NULL
[[288]]
NULL
[[289]]
NULL
[[290]]
NULL
[[291]]
NULL
[[292]]
NULL
[[293]]
NULL
[[294]]
NULL
[[295]]
NULL
[[296]]
NULL
[[297]]
NULL
[[298]]
NULL
[[299]]
NULL
[[300]]
NULL
[[301]]
NULL
[[302]]
NULL
[[303]]
NULL
[[304]]
NULL
[[305]]
NULL
[[306]]
NULL
[[307]]
NULL
[[308]]
NULL
[[309]]
NULL
[[310]]
NULL
[[311]]
NULL
[[312]]
NULL
[[313]]
NULL
[[314]]
NULL
[[315]]
NULL
[[316]]
NULL
[[317]]
NULL
[[318]]
NULL
[[319]]
NULL
[[320]]
NULL
[[321]]
NULL
[[322]]
NULL
[[323]]
NULL
[[324]]
NULL
[[325]]
NULL
[[326]]
NULL
[[327]]
NULL
[[328]]
NULL
[[329]]
NULL
[[330]]
NULL
[[331]]
NULL
[[332]]
NULL
[[333]]
NULL
[[334]]
NULL
[[335]]
NULL
[[336]]
NULL
[[337]]
NULL
[[338]]
NULL
[[339]]
NULL
[[340]]
NULL
[[341]]
NULL
[[342]]
NULL
[[343]]
NULL
[[344]]
NULL
[[345]]
NULL
[[346]]
NULL
[[347]]
NULL
[[348]]
NULL
[[349]]
NULL
[[350]]
NULL
[[351]]
NULL
[[352]]
NULL
[[353]]
NULL
[[354]]
NULL
[[355]]
NULL
[[356]]
NULL
[[357]]
NULL
[[358]]
NULL
[[359]]
NULL
[[360]]
NULL
[[361]]
NULL
[[362]]
NULL
[[363]]
NULL
[[364]]
NULL
[[365]]
NULL
[[366]]
NULL
[[367]]
NULL
[[368]]
NULL
[[369]]
NULL
[[370]]
NULL
[[371]]
NULL
[[372]]
NULL
[[373]]
NULL
[[374]]
NULL
[[375]]
NULL
[[376]]
NULL
[[377]]
NULL
[[378]]
NULL
[[379]]
NULL
[[380]]
NULL
[[381]]
NULL
[[382]]
NULL
[[383]]
NULL
[[384]]
NULL
[[385]]
NULL
[[386]]
NULL
[[387]]
NULL
[[388]]
NULL
[[389]]
NULL
[[390]]
NULL
[[391]]
NULL
[[392]]
NULL
[[393]]
NULL
[[394]]
NULL
[[395]]
NULL
[[396]]
NULL
[[397]]
NULL
[[398]]
NULL
[[399]]
NULL
[[400]]
NULL
[[401]]
NULL
[[402]]
NULL
[[403]]
NULL
[[404]]
NULL
[[405]]
NULL
[[406]]
NULL
# A tibble: 6 x 66
Symbol GSM1573135 GSM1573160 GSM1573175 GSM1573186 GSM1573132 GSM1573190 GSM1573121 GSM1573122 GSM1573123 GSM1573124
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 1060P… -0.268 -0.0434 0.0429 0.256 0.216 0.354 -0.701 -0.342 -0.230 -0.0392
2 A1BG -0.0927 0.511 -0.000813 0.250 -0.179 0.0237 0.870 0.158 0.000813 0.112
3 A1CF 0.194 -0.00738 0.0652 0.323 -0.114 0.00947 0.279 0.0727 -0.0794 -0.197
4 A2M 0.00145 0.0670 -0.0137 0.440 0.341 -0.0477 0.0401 -0.347 0.0592 0.120
5 A2ML1 0.232 -0.186 -0.0181 0.0195 -0.234 0.323 0.425 -0.0478 -0.133 -0.151
6 A3gal… 0.00392 -0.111 -0.156 0.432 -0.219 0.586 0.657 -0.0523 0.0833 -0.0175
# … with 55 more variables: GSM1573125 <dbl>,GSM1573126 <dbl>,GSM1573127 <dbl>,GSM1573128 <dbl>,GSM1573129 <dbl>,# GSM1573130 <dbl>,GSM1573131 <dbl>,GSM1573133 <dbl>,GSM1573134 <dbl>,GSM1573136 <dbl>,GSM1573137 <dbl>,# GSM1573138 <dbl>,GSM1573139 <dbl>,GSM1573140 <dbl>,GSM1573141 <dbl>,GSM1573142 <dbl>,GSM1573143 <dbl>,# GSM1573144 <dbl>,GSM1573146 <dbl>,GSM1573147 <dbl>,GSM1573148 <dbl>,GSM1573149 <dbl>,GSM1573150 <dbl>,# GSM1573151 <dbl>,GSM1573152 <dbl>,GSM1573153 <dbl>,GSM1573154 <dbl>,GSM1573155 <dbl>,GSM1573156 <dbl>,# GSM1573157 <dbl>,GSM1573158 <dbl>,GSM1573159 <dbl>,GSM1573161 <dbl>,GSM1573162 <dbl>,GSM1573163 <dbl>,# GSM1573164 <dbl>,GSM1573165 <dbl>,GSM1573166 <dbl>,GSM1573167 <dbl>,GSM1573168 <dbl>,GSM1573169 <dbl>,# GSM1573170 <dbl>,GSM1573171 <dbl>,GSM1573172 <dbl>,GSM1573173 <dbl>,GSM1573174 <dbl>,GSM1573176 <dbl>,# GSM1573177 <dbl>,GSM1573178 <dbl>,GSM1573179 <dbl>,GSM1573180 <dbl>,GSM1573181 <dbl>,GSM1573183 <dbl>,# GSM1573185 <dbl>,GSM1573187 <dbl>
>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。