Important : Ce guide assume que vous savez comment :
Vous pouvez cliquer sur les liens ci-dessus pour consulter les guides associées.
Dans ce guide, nous utiliserons deux variables du fichier
data_visualisation.csv
, soit le Genre (genre
)
et les émotions positives (emotionPositive
). Pour vous
évitez de tout re-coder, j’ai pris le temps d’écrire la syntaxe
nécessaire pour importer et préparer les données :
# Packages
library(readr)
library(tibble)
library(ggplot2)
library(Hmisc)
# Importer les données (data_visualisation.csv)
donnees_brutes <- read_csv("folder path")
# Préparer les données
df <- as_tibble(data.frame(id = 1:nrow(donnees_brutes)))
df$genre <- factor(donnees_brutes$Genre,
levels = c(1,2),
labels = c("Homme", "Femme"))
df$emotionPositive <- donnees_brutes$PANAS_Pos_Pre
Pour suivre les exemples dans ce guide, vous devrez donc :
1. avoir téléchargé le fichier data_visualisation.csv
sur
Studium
2. noter le "folder path"
3. exécuter la syntaxe ci-dessus (en changeant le
"folder path"
).
Voici à quoi devrait ressembler votre banque de données après l’étape de préparation :
df
## # A tibble: 100 × 3
## id genre emotionPositive
## <int> <fct> <dbl>
## 1 1 Femme 27
## 2 2 Femme 27
## 3 3 Femme 20
## 4 4 Femme 26
## 5 5 Femme 23
## 6 6 Femme 21
## 7 7 Femme 24
## 8 8 Femme 29
## 9 9 Homme 27
## 10 10 Femme 41
## # … with 90 more rows
Cette section explique comment obtenir la moyenne et l’intervalle de
confiance d’une variable continue pour plusieurs groupes (variable
discrète). À titre d’exemple, nous utiliserons les émotions positives
(emotionPositive
) comme variable continue et le genre
(genre
) comme variable discrète.
Nous avons déjà vue dans la section 2.2.1 du guide Préparer des données
qu’il est possible d’obtenir les statistiques descriptives (dont la
moyenne) d’une variable continue à partir à partir des fonctions
mathématiques (mean()
, sd()
, etc.) du package
R de base (voir section 2.2.1). Toutefois, la syntaxe présentée
précédemment ne permettait pas à elle seule d’obtenir les statistiques
descriptives relatives à différents groupes. Le package
dplyr
offre plusieurs fonctions utiles pour travailler avec
des données groupées.
Le package dplyr
inclue également l’opérateur
%>%
(pipe operator en anglais), qui permet de
chaîner plusieurs fonctions ensemble, en utilisant la sortie d’une
fonction comme entrée de la fonction suivante, ce qui rend le code plus
facile à lire et à comprendre. Pour ne pas avoir à ré-écrire ou
copier-coller %>%
à chaque fois, vous pouvez simplement
utiliser les raccourcis suivant :
Pour Mac = Cmd (⌘
) + Shift
(⇧
) + M
Pour Windows = Ctrl (⌃
) + Shift
(⇧
) + M
Note : Si ces raccourcis ne fonctionnent pas pour vous, vous
pouvez toujours consulter vos raccourcis dans les réglages. Voici
comment y accéder :
Preferences
> Code
>
Editing
> Modify Keyboard Shortcuts...
Voici donc comment obtenir les moyennes de la variable
emotionPositive
pour chaque groupe de la variable
catégorielle genre
(deux variables situées dans la banque
de données df
) :
library(dplyr)
df %>%
group_by(genre) %>%
summarise(Moyenne = mean(emotionPositive))
## # A tibble: 2 × 2
## genre Moyenne
## <fct> <dbl>
## 1 Homme 28.4
## 2 Femme 27.1
La package R de base ne contient pas de fonction spécifique pour
calculer les limites de l’intervalle de confiance d’une moyenne.
Évidemment, il est possible de calculer ces limites « à la main » (voir
la section suivante). Cependant, la syntaxe nécessaire pour y arriver
est trop complexe pour les besoins de ce cours. Je vous conseil donc
d’utiliser la fonction smean_cl_normal()
du package
Hmisc
. Voici comment ajouter les limites supérieures et
inférieures de l’intervalle de confiance de la moyenne au tableau de
l’exemple précédent :
library(dplyr)
library(Hmisc)
df %>%
group_by(genre) %>%
summarise(Moyenne = mean(emotionPositive, na.rm = TRUE),
limite_inf = smean.cl.normal(emotionPositive)["Lower"],
limite_sup = smean.cl.normal(emotionPositive)["Upper"])
## # A tibble: 2 × 4
## genre Moyenne limite_inf limite_sup
## <fct> <dbl> <dbl> <dbl>
## 1 Homme 28.4 25.1 31.6
## 2 Femme 27.1 25.5 28.7
Si vous essayez de calculer à la main l’intervalle de confiance à
partir de la formule présentée dans le manuel (Haccoun
et Cousineau, 2010, formule 9.5, p. 271), vous arriverez peut-être à
des résultats différents de ceux obtenus à l’aide de la fonctions
smean_cl_normal()
. Cette différence s’explique par le fait
que cette fonction calcule l’intervalle de confiance à partir de
l’erreur-type de chaque groupe pris individuellement (plutôt que
d’utiliser l’erreur-type de l’échantillon complet). Dans un contexte
d’inférence statistique (ex.: test-t), il est plus cohérent d’estimer
l’erreur-type de la moyenne à partir de l’échantillon complet puisqu’on
cherche à représenter l’hypothèse nulle. Cependant, obtenir un
intervalle calculé de cette manière nécessite de coder manuellement la
formule dans R, ce qui résulte en une syntaxe beaucoup trop complexe
pour ce cours. Pour ceux que ça intéresse, la voici :
library(dplyr)
library(tidyr)
# Cacluler l'erreur-type de la moyenne (s_M)
s <- df %>%
drop_na(emotionPositive) %>%
pull(emotionPositive) %>%
sd()
N <- df %>%
drop_na(emotionPositive) %>%
pull(emotionPositive) %>%
length()
s_M <- s / sqrt(N)
# Calculer le score t limite
conf.int <- 0.95
degrees_of_freedom <- N - 2 # Deux groupes
t <- qt((1 + conf.int)/2, df = degrees_of_freedom)
# Calculer les limites de l'IC et présenter dans un tableau
options(pillar.sigfig = 4)
df %>%
drop_na(emotionPositive) %>%
group_by(genre) %>%
summarise(Moyenne = mean(emotionPositive),
limite_inf = mean(emotionPositive) - t * s_M,
limite_sup = mean(emotionPositive) + t * s_M)
## # A tibble: 2 × 4
## genre Moyenne limite_inf limite_sup
## <fct> <dbl> <dbl> <dbl>
## 1 Homme 28.37 26.95 29.79
## 2 Femme 27.10 25.68 28.51
Dans le cadre de votre TP, vous pourrez présenter l’intervalle de
confiance obtenus à partir de la fonction
smean_cl_normal()
.