web-dev-qa-db-fra.com

remodeler vs remodeler2 dans R

J'essaie de comprendre pourquoi le développement est passé de reshape à reshape2 paquet. Ils semblent être les mêmes sur le plan fonctionnel, cependant, je ne peux pas passer à reshape2 actuellement dû à une ancienne version de R fonctionnant sur le serveur. Je m'inquiète de la possibilité d'un bug majeur qui aurait déplacé le développement vers un tout nouveau package au lieu de simplement continuer le développement de reshape. Est-ce que quelqu'un sait s'il y a une faille majeure dans le package reshape?

48
Alex

reshape2 laissez Hadley faire un redémarrage reshape qui était bien plus rapide, tout en évitant de faire exploser les dépendances et les habitudes des gens.

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

Reshape2 est un redémarrage du package de remodelage. Cela fait plus de cinq ans depuis la première version du package, et pendant ce temps, j'ai appris énormément sur la programmation R, et comment travailler avec des données dans R. Reshape2 utilise ces connaissances pour créer un nouveau package pour remodeler des données qui est beaucoup plus ciblé et beaucoup plus rapide.

Cette version améliore la vitesse au détriment des fonctionnalités, je l'ai donc renommée en reshape2 pour éviter de causer des problèmes aux utilisateurs existants. Sur la base des commentaires des utilisateurs, je peux réintroduire certaines de ces fonctionnalités.

Quoi de neuf dans reshape2:

  • considérablement plus rapide et plus efficace en mémoire grâce à un algorithme sous-jacent bien meilleur qui utilise la puissance et la vitesse du sous-ensemble dans toute la mesure, dans la plupart des cas, ne faisant qu'une seule copie 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.

  • des marges multidimensionnelles sont désormais possibles: grand_row et grand_col ont été supprimés: le nom de la marge fait maintenant référence à la variable dont la valeur est (all).

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

  • une nouvelle syntaxe de conversion qui vous permet de remodeler en fonction des fonctions
    de variables (basées sur la même syntaxe sous-jacente que plyr):

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

65
Matt Parker