Statistiques descriptives
#### Dans RStudio
library(psych) # on charge le package "psych"
## variable "Sepal.Length"
describe(iris$Sepal.Length)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 150 5.84 0.83 5.8 5.81 1.04 4.3 7.9 3.6 0.31 -0.61 0.07
## variable "Species"
# la commande describe(iris$Species) ne fonctionne pas car "Species" n'est pas une variable numérique
x <- table(iris$Species) # fréquences
x
##
## setosa versicolor virginica
## 50 50 50
prop.table(x) # pourcentages
##
## setosa versicolor virginica
## 0.3333333 0.3333333 0.3333333
#### Dans Jamovi
# Analyses -> Exploration -> Descriptives
# Pour les variables catégorielles -> Frequency tables
Statistiques bivariées
#### Dans RStudio
# correlation entre "Sepal.Length" et "Petal.Length"
cor(iris$Sepal.Length,iris$Petal.Length) # valeur de la correlation
## [1] 0.8717538
plot(iris$Sepal.Length,iris$Petal.Length) # nuage de points
#### Dans Jamovi
# Analyses -> Exploration -> Scatterplot
Interpretation correlation :
Taille d’effet : https://2012books.lardbucket.org/books/psychology-research-methods-core-skills-and-concepts/s16-02-describing-statistical-relatio.html#:~:text=Cohen’s%20d%20is%20a%20measure,medium%2C%20and%20large%2C%20respectively.
Causalité : https://soepidemio.com/2016/11/14/correlation-statistique-prudence-a-linterpretation/
Boîte à moustache
Rappels : https://www.stat4decision.com/fr/le-box-plot-ou-la-fameuse-boite-a-moustache/
# On représente la longueur du sépale en fonction de l'espèce
library("ggpubr")
ggboxplot(iris, x = "Species", y = "Sepal.Length",
color = "Species", palette = c("#00AFBB", "#E7B800", "#FC4E07"),
order = c("setosa", "versicolor", "virginica"),
ylab = "Longueur sépale", xlab = "Espèce")
# Exercice : indiquer une commande pour identifier l'observation (= ligne) outlier pour l'espèce virginica
ANOVA : effet d’un facteur (variable catégorielle) sur une variable numérique
#### Dans RStudio
## Ici : ANOVA à un facteur (one-way ANOVA)
# VI = espèce
# VD = longueur du sépale
# commande ANOVA
fit <- aov(Sepal.Length ~ Species, data = iris)
summary(fit)
## Df Sum Sq Mean Sq F value Pr(>F)
## Species 2 63.21 31.606 119.3 <2e-16 ***
## Residuals 147 38.96 0.265
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# commande tests post-hoc
library(tidyverse)
library(rstatix)
iris %>% tukey_hsd(Sepal.Length ~ Species)
## # A tibble: 3 × 9
## term group1 group2 null.value estimate conf.low conf.high p.adj
## * <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Species setosa versicolor 0 0.93 0.686 1.17 3.39e-14
## 2 Species setosa virginica 0 1.58 1.34 1.83 3 e-15
## 3 Species versicolor virginica 0 0.652 0.408 0.896 8.29e- 9
## # ℹ 1 more variable: p.adj.signif <chr>
#### Dans Jamovi
# ANOVA -> One-way ANOVA
Recodage d’une variable
#### Dans RStudio
## on recode la variable "Species"
# on appelle la variable recodée "Species_r"
# au départ, on y met des 0
iris$Species_r <- rep(0,150)
iris$Species_r[iris$Species == "setosa"] <- 1
iris$Species_r[iris$Species == "versicolor"] <- 2
iris$Species_r[iris$Species == "virginica"] <- 3
# Pour vérifier
table(iris$Species, iris$Species_r)
##
## 1 2 3
## setosa 50 0 0
## versicolor 0 50 0
## virginica 0 0 50
#### Dans Jamovi
# Data -> Transform -> using transform -> Create New Transform