R 4.0.0 est disponible, la mise à jour du langage spécialisé dans le calcul statistique s'accompagne de modifications de sa syntaxe,
ainsi que des fonctionnalités relatives à la vérification des erreurs

La version 4.0.0 du langage R pour le calcul statistique a été publiée, avec des modifications de la syntaxe du langage ainsi que des fonctionnalités relatives à la vérification des erreurs et aux vecteurs longs. La mise à niveau a été publiée le 24 avril.

À propos de R, qui s’est classé à la 17ème place dans l’index Redmond (mais a une meilleure position sur d’autres index comme Tiobe où il était septième en février, il occupait le même rang sur l'indice PyPL), les auteurs du rapport de Redmond avaient indiqué : « compte tenu de la spécialisation du langage, il s'agit probablement de son plafond effectif, mais c'est également une illustration de la popularité remarquable d'un langage dont l'utilisation est limitée à toutes fins utiles à un seul domaine - ceux qui travaillent avec des données et les exploitent. Le succès de R est un exemple de la puissance d'une communauté soutenue par le milieu universitaire pour élever un langage au-delà de son seuil attendu, et il est notable que la croissance susmentionnée de Python et son expansion dans l'analyse de données ne se sont pas observées aux dépens de l'intérêt porté à R ».

Nom : R.png
Affichages : 38975
Taille : 47,4 Ko

Il faut noter que le langage R a pris de l'ampleur avec l'essor de la science des données et de l'apprentissage automatique. Le journal de changements est assez long, en voici quelques-uns :
  • Les données de chaîne importées ne sont plus converties en facteurs. L'option stringsAsFactors, qui depuis la création de R est par défaut sur TRUE pour convertir les données de chaîne importées en objets factoriels, est désormais sur FALSE. Cette valeur par défaut était probablement la plus grande pierre d'achoppement pour les utilisateurs précédents de R: elle rendait la modélisation statistique un peu plus facile et utilisait un peu moins de mémoire, mais au détriment d’un comportement quelque peu confus sur les données que vous pensiez probablement être des chaînes ordinaires. Cette modification a rompu la compatibilité descendante de nombreux packages (principalement mis à jour maintenant sur CRAN) et affecte probablement vos propres scripts, sauf si vous avez été diligent quant à l'inclusion de déclarations de chaînes explicites AsFactors dans vos appels de fonction d'importation.
  • Une nouvelle syntaxe pour spécifier des chaînes de caractères brutes. Vous pouvez utiliser une syntaxe comme r"(any characters except right paren)" pour définir une chaîne littérale. Ceci est particulièrement utile pour le code HTML, les expressions régulières et les autres chaînes qui incluent des guillemets ou des barres obliques inverses qui devraient autrement être échappées.
  • Un système de comptage de référence amélioré. Lorsque vous supprimez un objet dans R, il libère généralement la mémoire associée au système d'exploitation. De même, si vous copiez un objet avec y <- x, R n'allouera pas de nouvelle mémoire pour y à moins que x ne soit modifié ultérieurement. Dans les versions antérieures de R, cependant, ce système tombe en panne s'il y a plus de 2 références à un bloc de mémoire. À partir de R 4.0.0, toutes les références seront comptées, et donc R devrait récupérer autant de mémoire que possible, réduisant ainsi l'empreinte mémoire globale de R. Cela n'aura aucun impact sur la façon dont vous écrivez le code R, mais cette modification accélère l'exécution de R, en particulier sur les systèmes avec une mémoire limitée et des systèmes de stockage lents.
  • Normalisation des types de matrice et de tableau. Conceptuellement, une matrice n'est qu'un tableau à deux dimensions. Mais les versions antérieures de R gèrent différemment les objets matriciels et les tableaux 2D dans certains cas. Dans R 4.0.0, les objets matriciels hériteront formellement de la classe tableau, éliminant ainsi ces incohérences.
  • assertError() et assertWarning() dans les outils de package peuvent désormais rechercher des classes d'erreur ou d'avertissement spécifiques via les nouvelles classes facultatives de second argument.
  • DF2formula(), l'utilitaire de la méthode data frame formula(), fonctionne désormais sans analyse et évaluation explicite.
  • Les vecteurs longs sont désormais pris en charge comme argument seq d'une boucle for().
  • matrix() convertit désormais les colonnes de caractères en facteurs et les facteurs en entiers.
  • skeleton()répertorie désormais explicitement toutes les exportations dans le fichier NAMESPACE.

Télécharger les binaires (Windows, macOS, Linux)

Source : journal de changements sur R

Et vous ?

Avez-vous déjà développé en R ? À quel titre (personnel, en entreprise, durant votre parcours scolaire) ?
Que pensez-vous de ce langage ?
Quels sont les éléments qui vous intéressent le plus dans cette mise à jour ?