在地理查询上使用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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...