Je sais que R n'est pas particulièrement utile pour analyser de grands ensembles de données étant donné que R charge toutes les données en mémoire alors que quelque chose comme SAS fait une analyse séquentielle. Cela dit, il existe des packages tels que bigmemory qui permettent aux utilisateurs d'effectuer une analyse de données volumineuses (analyse statistique) plus efficacement dans R.
Je voulais savoir, à part toutes les informations théoriques, est-ce que quelqu'un a utilisé / utilise R pour analyser de grands ensembles de données dans un environnement d'entreprise et quels sont les problèmes typiques qui pourraient survenir. Par grands ensembles de données, je fais référence à des ensembles de données d'une taille d'environ 200 Go. De plus, toute réflexion sur des exemples concrets de migration de SAS vers R dans de tels cas d'utilisation serait utile.
la source
ff
etbigmemory
. @Glen_b, pensez-vous que le nouveau R (avec une machine 64 bits) rivalisera avec SAS (en termes de taille possible des jeux de données)?Réponses:
J'ai fait du travail sur de très grands ensembles de données dans R, et je n'ai pas eu de problèmes.
Il existe plusieurs approches qui fonctionnent, mais mon paradigme de base est que je trouve des moyens de traiter les données "séquentiellement". De toute évidence, SAS a les mêmes contraintes de mémoire fondamentales si vous l'utilisez sur la même machine, utiliser R est juste un peu plus bricolage.
Dans tous les cas que j'ai rencontrés, je fais soit une analyse sur une sorte de résumé des données, soit je fais une analyse sur des morceaux de données, puis je résume les résultats. Dans les deux cas, c'est facile à réaliser dans R.
Il est assez facile de créer des résumés si vous avez vos données structurées d'une certaine manière (vraiment de n'importe quelle manière). Hadoop est un outil de premier plan pour créer des résumés, mais il est facile de faire un traitement par lots sur les fichiers R Data, et si vos données tiennent sur votre périphérique de stockage local, il est également plus rapide de les traiter par lots de cette façon (en termes de temps de traitement et temps de développement).
Il est également assez facile de regrouper votre analyse par morceaux en utilisant également le même processus de réflexion.
Si vous mourez vraiment d'envie de faire un modèle linéaire directement sur un gigantesque ensemble de données, alors je pense que bigmemory est votre réponse, comme l'a suggéré Stéphane Laurent.
Je ne pense pas vraiment qu'il y ait une "réponse" à "comment gérez-vous les contraintes de mémoire" ou "passer à une nouvelle plate-forme", mais ce sont mes deux cents de longue haleine.
la source
Je n'ai pas de pratique sur la partie analytique révolutionnaire mais il y a un blog à ce sujet
http://www.r-bloggers.com/allstate-compares-sas-hadoop-and-r-for-big-data-insurance-models/
Il utilise le hadoop (calcul distribué) pour résoudre ce problème de mémoire.
la source