2017-10-08 1 views
1

J'ai un énorme fichier csv, 1,37 Go, et lors de l'exécution de mon GLM en R, il se bloque parce que je n'ai pas assez de mémoire allouée. Vous savez, l'erreur régulière ..Un moyen efficace de gérer les gros volumes de données en R

N'y a-t-il pas d'alternative aux paquets ff et bigmemory, car ils ne semblent pas fonctionner correctement pour moi, parce que mes colonnes sont un mélange d'entiers et de caractères, et il semble que les deux packages Je dois spécifier le type de mes colonnes, char ou entier.

Nous serons bientôt en 2018 et sur le point de mettre des gens sur Mars; n'y a-t-il pas une simple fonction "read.csv.xxl" que nous pouvons utiliser?

+3

Vous n'avez pas 2 Go de mémoire sur votre ordinateur? Peut-être le temps de mettre à niveau. – lmo

+0

J'ai 8 Go, mais le calcul glm se bloque. – HeyJane

+0

fait l'un des pointeurs dans http://www.bnosac.be/index.php/blog/10-bigglm-on-your-big-data-set-in-open-source-r-it-just-works -similaire-comme-dans-le travail de sas? – hrbrmstr

Répondre

1

Je voudrais tout d'abord répondre à votre question en reconnaissant que juste parce que vos données d'échantillon prend 1,37 GB ne pas du tout signifie que 1,37 Go serait satisfaisante pour faire tous vos calculs en utilisant le package glm. Très probablement, l'un de vos calculs pourrait augmenter à un multiple de 1,37 GB. Pour la deuxième partie, une solution pratique consiste à prendre un sous-échantillon raisonnable de votre ensemble de données de 1,37 Go. Avez-vous vraiment besoin de construire votre modèle en utilisant tous les les points de données dans l'ensemble de données d'origine? Ou, diriez-vous qu'un sous-échantillon de 10% vous donne également un modèle statistiquement significatif? Si vous réduisez la taille de l'ensemble de données, vous résolvez le problème de mémoire avec R.

Gardez à l'esprit ici que R s'exécute complètement en mémoire, ce qui signifie qu'une fois que vous avez dépassé la mémoire disponible, vous pouvez ne pas avoir de chance .

+0

Première partie: exactement. Deuxième partie: Je veux utiliser toutes mes données, car je veux faire un modèle complexe. Et j'ai besoin de savoir à quel point je suis confiant dans mes estimations, donc j'ai besoin d'utiliser toutes mes données. D'où ma question. – HeyJane

+0

@HeyJane Je ne suis pas sûr que vous devez utiliser toutes vos données. Pour tester cela, vous pouvez prendre un sous-échantillon de 10% de vos données et comparer les statistiques descriptives de ce sous-ensemble à l'ensemble de données original. –

+1

Oui, je dois utiliser toutes mes données pour évaluer si je suis sûr de mes estimations. Et aussi, je veux un modèle très complexe. Et avec tout le respect que je vous dois, vous n'abordez pas mon problème. Vous dites simplement "réduire les données" – HeyJane