Re coucou,
Commence par lancer ca:
qui renvoit la limite max de ram allouée à R
Si c'est inférieur à tes 16000 de ram tu as encore de l'espoir puisque tu peux allouer plus (pour R 64bit) en faisant:
memory.limit(size = 16000)
Si tu ne peux pas allouer plus, bon courage
Aha, non serieusement si ca suffit pas, un échantillonage intelligent reste une bonne solution (par intelligent j'entend que tu dois reflechir un minimum à la façon dont tu selectionnes tes individus et faire des testz pour vérifier que tu ne loupes pas des catégories spécifiques en gros).
Minimum syndical: tu fais un modèle avec un échantillonage.
Tu refais le même modèle avec genre 100 simulations d'echantillonages différents et tu verifies que les résultats sont les mêmes. (ou très proches).
Autre chose très importante: quand tu commences à être ric rac niveau mémoire, c'est vraiment le moment de coder proprement les choses et d'avoir un workspace propre, à savoir:
-on efface au fur et à mesure les données crées qui ne servent plus
avec rm() puis un gc() pour le ramasse miette.
-quand on doit garder des résultats pour la suite (genre le-mega-modèle-super-lourd-qui-prend-toute-la-ram) on les sauvegarde en dur sur le disque avec la fonction save(x, file), et on les efface de la ram (rm();gc()).
Quand on en a rebesoin on les rappelle dans la ram avec load(file).
Bonne chance
Partager