R在大循环,应用或预告后崩溃

时间:2016-08-14 13:42:07

标签: r apply

我编写了一个在小样本数据集上运行非常正确的脚本,但是当我在更大的实际数据上尝试相同的事情时,R Studio Session崩溃并出现致命错误,运行脚本时R会话也是如此不使用RStudio。这是我的sessionInfo():

R version 3.3.1 (2016-06-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

locale:
[1] LC_COLLATE=French_France.1252  LC_CTYPE=French_France.1252    LC_MONETARY=French_France.1252
[4] LC_NUMERIC=C                   LC_TIME=French_France.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] rsconnect_0.4.3 tools_3.3.1  

我尝试使用for循环,foreach包,应用函数,plyr的一个构建相同的脚本......没有任何效果。我很遗憾无法提供可重现的示例,但脚本和数据非常大,当它们只是一个摘录时,它可以工作......

有谁知道这是什么问题?我确切地说,我没有收到任何错误消息......

修改

这是我的代码,如果它可以帮助任何人找到解决方案:

     # pairing des sections
  print("Pairing...")
  pair <- pairing(revs)

  # établissement de la struture en "text" et "diff"
  revs <- structure(revs)

  # initialisation de la boucle
  if(init) revs <- init(revs)
  else revs[[1]] <- start

  depart_id <- max(revs[[1]][length(revs[[1]]) - 1][[1]]$diff$id)

  print("Versionning... ")
  for(i in 2:length(revs)) {

    print(i)

    old <- revs[[i-1]]
    new <- revs[[i]]

    pairSmall <- filter(pair, pairing == i)

    revs[[i]] <- one.status(new, old, pairSmall)
    revs[[i]] <- two.status(revs[[i]], old, pairSmall, depart_id)
    revs[[i]] <- three.status(revs[[i]],old, pairSmall, calcul.id(revs[[i]], old))
    revs[[i]] <- four.status(revs[[i]], old, pairSmall, calcul.id(revs[[i]], old))
    revs[[i]] <- five.status(revs[[i]], old, pairSmall)
    revs[[i]] <- six.status(revs[[i]], old, pairSmall, calcul.id(revs[[i]], old))
    revs[[i]] <- seven.status(revs[[i]], old, pairSmall, calcul.id(revs[[i]], old))
    revs[[i]] <- eight.status(revs[[i]], old, pairSmall, calcul.id(revs[[i]], old))

    }

1 个答案:

答案 0 :(得分:0)

事实上,这是一个八.status函数的问题,所以请不要考虑这个问题它没有很好的表达。