Les tibbles

Au chapitre précedent, nous avons vu comment importer nos données via le package readr . Lors de l'importation, nos données étaient importées sous la forme d'une sorte de tibble dont nous avons dit qu'ils étaient des data.frame un peu particulier. Dans ce court chapitre, nous allons en apprendre plus sur ces objets.

Commençons par importer le même fichier de données que celui utilisée précédement :

library("tidyverse")
data = read_csv("data.csv")

On observe la création d'un objet data dans notre environnement global :

Regardons la classe de cette variable data :

class(data)

On remarque pour commencer que notre objet posséde... plusieurs classes ! Nous avions évoqué cette possibilité lors du chapitre sur les classes, mais c'est la première fois que nous rencontrons un tel objet. data posséde donc quatre classes :

  • spec_tbl_df
  • tbl_df
  • tbl
  • data.frame

Nous connaissons la dernière classe, data.frame . Notre objet est donc bien un data.frame ! Dans les trois premières classes, seule la classe tbl nous intéresse, et elle représente les objets tibble qui sont des sorte de data frame. Les deux autres classes (spec_tbl_df et tbl_df) sont simplement des "synomyes" de tbl utilisés pour le fonctionnement interne du package. En pratique on peut considérer que notre objet n'a que deux classes : tbl et data.frame .

Les tibbles : des data.frame qui en font moins

Si nous connaissons bien la classe data.frame, a quoi correspond la classe tibble? Un tibble est simplement un data.frame qui fait... moins de choses ! Ils viennent du package tibble , qui est fourni de base avec le tidyverse . Les tibbles sont des data frames qui font moins de choses, et qui les rendent plus pratiques à utiliser. Voici les particularités principales des tibbles :

  • Ils n'ont pas de noms de lignes, contrairement aux data frames qui peuvent en accepter.
  • On peut utiliser des noms avec des accents ou caractéres spéciaux pour les tibbles, ce qui n'est pas possible pour les dataframes. Cela rend l'importation de colonnes avec de tels noms plus facile.
  • Les tibbles s'affichent de façon plus agréable à lire dans la console que les data frames. Ils n'affichent ainsi que les premiers lignes, ainsi que des informations utiles.
  • Les tibbles ont un comportement moins "aléatoire" et plus pratique que les data.frame dans certains cas.
  • Ils sont plus rapides, a manipuler, ce qui est intéressant quand on veut faire des opérations sur des gros tableaux de données.

Si vous voulez en savoir plus sur les différences entre les deux et les avantages des tibbles, n'hésitez pas à aller consulter directement la documentation.

Ces différents avantages peuvent a première vue sembler peu important : est-ce vraiment utile de créer un nouveau type d'objets, pour seulement quelques différences ? La réponse est oui pour deux raisons. La première est que à la longue, les petits avantages des tibbles rendent la vie des data scientistes bien plus pratiques. La seconde raison est que les tibbles sont aussi des data.frame, ce qui veut dire que tous ce que pouvez faire avec des data.frame, vous pouvez aussi le faire avec les tibbles !

Ainsi en pratique utiliser des tibbles va simplement vous faciliter la vie, sans que vous vous rendiez compte que vous manipuler des tibbles et non des data frames "originaux". Après tous, les tibbles sont juste des data frames avec des propriétés en moins et des comportements plus prévisibles ! Pourquoi s'en priver ?

Remarque : Dans la suite du cours, nous parlerons de façon indifférente de tibble ou de data.frame . En pratique, nous travaillerons avec des tibble , mais comme ils sont aussi des data frame, il est courant de les désigner sous le terme de data.frame bien qu'ils soient un peu différents data.frame "classiques".

results matching ""

    No results matching ""