48 votes

reshape vs. reshape2 en R

Je suis tente de comprendre pourquoi le développement avait décalé d' reshape de reshape2 package. Ils semblent être fonctionnellement le même, cependant, je ne suis pas en mesure de mettre à niveau vers reshape2 actuellement, en raison d'une ancienne version de R en cours d'exécution sur le serveur. Je suis inquiet au sujet de la possibilité d'un bug majeur qui a basculé du développement d'un tout nouveau pack, au lieu de simplement la poursuite du développement de reshape. Personne ne sait si il y a une faille majeure dans l' reshape package?

65voto

Matt Parker Points 7373

reshape2 laissez Hadley faire un redémarrage reshape que c'était une façon, de manière plus rapide, tout en évitant la casse les dépendances et les habitudes.

https://stat.ethz.ch/pipermail/r-packages/2010/001169.html

Reshape2 est un reboot de la remodeler paquet. Cela fait plus de cinq ans depuis la première version du paquet, et pendant ce temps, j'ai appris une quantité énorme sur la R de la programmation, et comment travailler avec les données dans R. Reshape2 utilise cette connaissance pour en faire un nouveau package pour la restructuration de des données qui est beaucoup plus concentré et beaucoup beaucoup plus rapide.

Cette version améliore la vitesse au détriment de la fonctionnalité, donc j'ai renommé reshape2 pour éviter de causer des problèmes pour les utilisateurs existants. Basé sur les commentaires des utilisateurs, je peut réintroduire certaines de ces caractéristiques.

Ce qui est nouveau en reshape2:

  • beaucoup plus rapide et plus efficace en terme de mémoire grâce à une mieux algorithme sous-jacent qui utilise la puissance et de la vitesse de subsetting à la mesure de ses possibilités, dans la plupart des cas seulement de faire un copie unique des données.

  • cast est remplacé par deux fonctions selon le type de sortie: dcast produit des trames de données, et acast produit des matrices/tableaux.

  • multidimensionnelle marges sont désormais possibles: grand_rowet grand_col ont été abandonnées: maintenant, le nom de la marge se réfère à la variable qui a la valeur est définie sur (tous).

  • certaines fonctionnalités ont été supprimées tels que l' | opérateur de cast, et la capacité de retourner plusieurs valeurs à partir d'une fonction d'agrégation. Je suis assez sûr que ces deux opérations sont mieux exécutées par plyr.

  • une nouvelle fonte de la syntaxe qui permet de remodeler basés sur les fonctions de
    de variables (basé sur la même syntaxe que plyr):

  • de meilleures pratiques de développement comme des espaces de noms et les tests.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X