CommencerCommencez gratuitement

Boîte à moustaches

Une manière simple de comparer plusieurs distributions est d'utiliser une boîte à moustaches (box plot). Le code suivant vous aidera à construire plusieurs boîtes afin d'obtenir un visuel compact.

Dans cet exercice, l'objet all_book_polarity est déjà chargé. Le data frame contient deux colonnes, book et polarity. Il regroupe tous les livres avec la fonction polarity() de qdap appliquée. Voici les 3 premières lignes de ce grand objet.

book polarity
14 huck 0.2773501
22 huck 0.2581989
26 huck -0.5773503

Cet exercice présente tapply(), qui permet d'appliquer des fonctions sur un tableau irrégulier. Vous fournissez un vecteur de valeurs puis un vecteur de facteurs. Pour chaque combinaison facteur/valeur, le troisième paramètre, une fonction comme min(), est appliquée. Par exemple, voici du code utilisant tapply() sur deux vecteurs.

f1 <- as.factor(c("Group1", "Group2", "Group1", "Group2"))
stat1 <- c(1, 2, 1, 2)
tapply(stat1, f1, sum)

Le résultat est un tableau où Group1 vaut 2 (1+1) et Group2 vaut 4 (2+2).

Cet exercice fait partie du cours

<cours>Analyse de sentiments en R</cours>
Voir le cours

Instructions de l’exercice

  • Comme il est déjà chargé, examinez all_book_polarity avec str().
  • En utilisant tapply(), passez all_book_polarity$polarity, all_book_polarity$book et la fonction summary(). Cela affichera les statistiques récapitulatives des 4 livres en termes de scores de polarity(). Vous devriez voir qu'Oz et Huck Finn ont des moyennes plus élevées qu'Agamemnon ou Moby Dick. Portez une attention particulière à la médiane.
  • Créez une boîte à moustaches avec ggplot() en passant all_book_polarity.
    • Les aesthetics doivent être aes(x = book, y = polarity).
    • En utilisant un +, ajoutez geom_boxplot() avec col = "darkred". Observez bien la ligne sombre au centre de chaque boîte, qui représente la médiane.
    • Ajoutez ensuite une autre couche appelée geom_jitter() pour ajouter des points correspondant à chaque mot.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Examine
___

# Summary by document
___

# Box plot
ggplot(___, aes(x = ___, y = ___)) +
  ___(fill = c("#bada55", "#F00B42", "#F001ED", "#BA6E15"), col = "___") +
  ___(position = position_jitter(width = 0.1, height = 0), alpha = 0.02) +
  theme_gdocs() +
  ggtitle("Book Polarity")
Modifier et exécuter le code