2016-08-14 2 views
-2

小さなサンプルデータセットでは正しく動作するスクリプトを作成しましたが、もっと大きなサイズの実データと同じデータセットを試すと、R Studioセッションが致命的なエラーでクラッシュしますRStudioを使用せずにスクリプトを実行すると、Rセッションも同様です。私はループ、foreachのパッケージ、関数を適用するために使用して同じスクリプトを構築しようとした大きなforループ、適用またはforeachの後にRがクラッシュする

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 

は、plyrの1 ...何も働いていない:ここに私のSessionInfo()です。私は再現可能な例を与えることができませんが、スクリプトやデータは非常に大きく、ちょうど抽出物であるときにはうまくいきます...

問題は何ですか? I私はすべてのエラーメッセージを取得しないことを正確に...

EDIT

それは誰も見つけ解決に役立つならばここに私のコードは、です:それはとの問題だった事実

 # 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)) 

    } 
+0

あなたのデータが大きすぎてRAM内に収まりきらなくなり、クラッシュする可能性があります。 – abhiieor

+0

私のデータは約50MBですが、私は8GBのRAMを持っています...複数のラボの割り当て((i))はこのような問題を引き起こす可能性がありますか? –

+0

私が正しく理解していれば、あなたは '回転 'を初期化しません。正しいサイズで事前に設定する必要があります。見て[ここ](http://stackoverflow.com/questions/2908822/speed-up-the-loop-operation-in-r)...また、再現可能なコードも役立ちます。 – Christoph

答えて

0

をeight.status関数なので、この問題を考慮しないようにしてください。

関連する問題