0% ont trouvé ce document utile (0 vote)
5 vues36 pages

Guide des fonctions R et gestion des données

Transféré par

wh6wn4df2r
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues36 pages

Guide des fonctions R et gestion des données

Transféré par

wh6wn4df2r
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Atlantis juilland

Noir = fonctions, NE PEUT PAS ÊTRE CHANGÉ

 Faire attention aux majuscules et minuscules dans les fonctions (fonction setwd n’est pas la même chose que Setwd
(qui n’existe pas d’ailleurs))

Couleurs = noms des variables, catégories, nombres,… -> CHOSES QUE L’ON PEUT MODIFIER, CHANGER

Règles pour les noms de variables,… :

1) On peut utiliser des lettres, chiffres et underscore _


2) On ne peut pas mettre d’espace entre les mots
3) Ne pas commencer par un chiffre : valeur1 -> ok, 1valeur -> pas ok
4) Éviter les mots pour des fonctions : for, dec, sep, mean,….

library(car)

library(carData)

library(ggplot2)

library(MASS)

library(rstudioapi)

library(gdata)

library(lme4)

library(Matrix)

library(plyr)

library(knitr)

library(DescTools)
Atlantis juilland

Action Fonction dans R Explication Exemple avec exercices de la


prof
« Flèche » Nom <- Fonction Avant la flèche (<-) : on
<- peut mettre n’importe
quoi, (x ou machin truc
ou variable ou…) c’est le
nom que l’on donne à la
fonction qui va suivre
Est utile si on veut
mettre les mêmes
données dans
plusieurs fonctions, ça
fait qu’on a toutes les
données regroupées
sous un nom
Après la flèche (<-) : la
fonction, c’est les
instructions que l’on
donne à R, la « recette »
de ce qu’il doit calculer
ou nommer ou exécuter,

Chercher setwd("C:Chemin d’accès") Ou se trouve le document setwd("C:/Users/Nina/OneDrive/Documents/_UNIL
le dans l’ordi /CoursStat1/Cours02")
document (Copier-coller + changer
dans les slashs de sens)
l’ordinateu
r
Lire Nom docu dans R<-[Link]("Nom Donner un nom dans R + data_satisfaction<-
Atlantis juilland

document document",sep=";", dec=",") Dire quel doc on utilise [Link]("Mes_donnees_Exercice02.csv",sep=";",


Séparation sep : séparations (point dec=",")
s virgule ou 2 points)
Décimales dec : décimale dans doc
excel (virgule ou point)
Montrer le head(Nom docu dans R) Montre les 5 premières head(data_satisfaction)
haut du lignes du tableau du
document document excel
Monter View(Nom docu dans R) Montre tout le tableau du View(data_satisfaction)
document document excel
Créer une c(…,…,…,…….) c minuscule : lettre x<-c(1,2,3,4,5)
variable utilisée pour définir un
(sans doc ensemble de données
excel) entre parenthèses
on peut ensuite donner
un nom à cette variable,
ex :
variable1<-
c(12,15,18,26,45)
Tableau de Nom tableau<-table(Nom doc dans Création d’un tableau de table1<-table(data_satisfaction$Age)
fréquances R$Variable) fréquances pour une
seule variable (=1
colonne dans excel) en
bas à gauche dans R
Permet de visualier toutes
les données d’une
variable
N.B : il est obligatoire
de créer un tableau de
fréquances pour
ensuite pouvoir
générer un barplot !!
Probabilité Nom probabilité<-nom tableau/sum(nom Donne les valeurs en prob_table1<-table1/sum(table1)
Atlantis juilland

tableau) pourcentages et non en


chiffres
Ex : Emma a 3 pommes,
Luc en a 1, -> Emma a
75%, Luc 25% (noté 0,75
et 0,25 dans R)
Regrouppe Nom tableau<-table(cut(Nom doc dans cut : fonction pour table1<-table(cut(data_satisfaction$Age,
r les R$Variable, breaks=c(…,…,…,…….)) regrouper les valeurs breaks=c(15,30,45,60)))
valeurs d’une variable
Ou ou
Nom tableau<-table(cut(Nom doc dans breaks : 2 options : table1<-table(cut(data_satisfaction$Age, breaks=4))
R$Variable, breaks=nombre)) 1) breaks=c(…,…,…,)
:on choisit à quelle
valeur on va
regrouper. Ex :
données= 1,2 ,3 ,4,
5
breaks=c(3,5) on
regroupera de 1 à
3 et de 4 à 5
2) breaks=nombre :le
nombre indique le
nombre de groupes
que l’on veut
Diagramm barplot(nom tableau) Créé le tableau avec des barplot(table1)
e en barres bâtons (dans partie en  Fonctionne seulement si :
bas à droite) table1<-table(data_satisfaction$Age) a été
NB : il faut avoir fait un fait avant !
tableau de fréquances
avant !!
Tableau pour données
discrètes (pas
continues) quand il y a
pas trop de données
MAIS SURTOUT pour
Atlantis juilland

variables qualitatives

Fréquence Nomdutableaudefréquence[nomdelavariable Savoir combien de fois ça tableroute3["mauvaise"]


ordinal] apparait
Fréquence cumsum(nomdutableaudefréquence) Toutes le fréquences de la cumsum(tableroute3)
de tous variable dans le tableau
Ordonner Nom docu dans R$Variable<-factor(Nom factor : permet data_satisfaction$Satisfaction<-
catégories docu dans R$Variable, order=TRUE, d’ordonner les catégories factor(data_satisfaction$Satisfaction,
levels=c("1", "2", "3", "4" ,… )) d’une variables : order=TRUE, levels
Ex : « pas content », « un =c("pas_du_tout_satisfait","plutot_insatisfait",
peu content », « très "moyennement_satisfait","tres_satisfait","extremem
content » ent_satisfait"))
R ne comprends pas que,
« pas content » c’est
moins que « un peu
content », on doit lui
indiquer dans quel ordre il
faut mettre ces
catégories
order=TRUE : indique que
l’ordre que nous allons lui
donner est le bon, le vrai
levels=c : on donne
l’ordre que l’on veut que
R comprenne
Diagramm pie(nom tableau) Créé le tableau pie(table1)
e « camembert »  Fonctionne seulement si : table1<-
camember (dans partie en bas à table(data_satisfaction$Age) a été fait avant !
t droite)
Tableau pour données
discrètes (pas
Atlantis juilland

continue)
Imprimer, print(Nom docu dans R$Variable) Fait apparaitre les print(data_satisfaction$Age)
montrer print(nom tableau) données, elles deviennent print(table1)
print(Nom probabilité) visibles (dans partie en
… bas à gauche)
Histogram hist(Nom docu dans R$Variable, breaks= Créé un histogramme hist(data_satisfaction$Age, breaks=15)
me nombre) (dans partie en bas à
droite), breaks : on choisit
le nombre de
bâtons/colonnes que l’on
veut sur le graphique
(nombre)
Tableau pour varibales
quantitatives
Moyenne mean(Nom docu dans R$Variable) Moyenne de tout les mean(data_satisfaction$Age)
éléments de la variable
(toutes les lignes de 1
colonne)
Médianne median(Nom docu dans R$Variable) Médiane = nombre au median(data_satisfaction$Grandeur)
milieu de toutes les
données
Ex : 1 2 3 4 5 ->
médiane= 3
Ex : 1 5 6 7 8 10 14->
médiane= 7
Mode Mode(Nom docu dans R$Variable) Nombre le + choisi dans Mode(data_satisfaction$Sexe)
la variable
Ex : 1 1 1 2 2 2 2 ->  ATTENTION : Activer package « DescTools »
Mode=2 (présent 4 fois) avant !
Ex : 1 1 2 4 4 4 4 4 5 6 7
-> Mode= 4 (présent 5
fois)
Ordonner Nom données rangées<-sort(Nom docu dans Classer les données par Data_ordonné_Taille<-sort(data_satisfaction$Taille)
Atlantis juilland

R$Variable) ordre croissant


Pour les variables
quantitatives ordinales
(avec des chiffres !)
Arrondir round(valeur ou variable, nombre) Arrondir une valeur mean_rounded <-
une valeur numérique, ou une round(mean(data_satisfaction$scoreZsport), 3)
variable renvoyant à une
valeur numérique (ex :
moyenne d’une variable,
…)
Nombre : à combien de
chiffres après la virgule
on veut arrondir
Résumé summary(Nom docu dans R$) Fait un résumé de summary(data_satisfaction$Taille)
données sur une variable
comprenant : Minimum,
1er quartile, médiane,
moyenne, 3e quartile,
maximum
Variance var(Nom docu dans R$Variable) Calcule la variance d’une var(data_satisfaction$Age)
ou variable
sd^2(Nom docu dans R$Variable)
Écart-type sd(Nom docu dans R$Variable) Calcule l’écart-type d’une sd(data_satisfaction$Age)
ou variable
sqrt(var(Nom docu dans R$Variable))
Espace IQR(Nom docu dans R$Variable) Nous donne l’espace IQR(data_satisfaction$Age)
inter- entre 1et quart et le 3e
quartile quart des données (donc
de 50% des données au
milieu du graph)
Utile car n’est pas
influencé par les valeurs
extrêmes
Atlantis juilland

Nommer barplot(Nom doc dans R$Variable1, [Link] : sert à barplot(data$Frequence, [Link] =


les axes, [Link] = Nom doc dans R$Variable2, spécifier les étiquettes data$Resultat, xlab = "Résultat", ylab =
le graph xlab="Nom axe des x variable 2", (noms) des barres sur "Frequence", main = "Histogramme de Frequences")
ylab="Nom axe des y variable 1", main l'axe des x.
="Nom du tableau") xlab : nom qu’on veut
donner à l’axe des x
ylab : nom qu’on veut
donner à l’axe des y
Le plus Range(vecteur) Donne min et max
grand et le
plus petit
Arrondir Round(chiffre, digits = de combien de Arroundir
décimal)
Caractèrist par(mar(c=( nombre, nombre, nombre, par : contrôler les par(mar=c(11,4,4,4))
i-ques du nombre)) paramètres globaux d'un barplot(data$Frequence, las=2, [Link]=0,7)
graph barplot(, las=nombre, [Link]=nombre, graphique, comme les barplot(table5, col=c("turquoise","blue"))
col= "couleur") marges, les dimensions,
les couleurs, les polices,
et d'autres aspects
visuels
mar : contrôle les marges
du graphique
1er nombre=Bas (bottom),
2e nombre=Gauche (left),
3e nombre=Haut (top),
4e nombre=Droite (right).
las :contrôle l’orientation
des étiquettes des axes
0 : étiquettes parallèles à
l'axe (par défaut).
1 : étiquettes
horizontales.
2 : étiquettes
Atlantis juilland

perpendiculaires à l'axe
(verticales).
3 : étiquettes verticales,
mais dans le sens inverse
de l'orientation par
défaut.
[Link] :contrôle la taille
des étiquettes des axes.
1=valeur par défaut,
0,8=un peu plus petit,…
col : change la couleur
des bâtons du
diagramme. Si plusieurs
couleurs, mettre
col=c(« couleur1 »,
« couleur2 »)
NB : il faut écrire les
couleurs en anglais
Limites sur xlim =(x minimum, x maximum) Donne les valeurs limites barplot(data$Frequence,xlim=(80,120))
le ylim =(y minimum, y maximum) que l’on veut représenter
graphique Ex : si on a des données
de QI de 60 à 140 mais
que l’on veut voir sur le
graph que de 80 à 120 :
xlim=c(80,120)
Même chose pour l’axe
y : ylim
Densité dnorm(valeur qui nous intéresse Densité d’une valeur sur dnorm(100,120,10)
,mean=moyenne variable,sd=écart-type la distribution normale
variable) avec une certaine
ou moyenne(mean) et un
dnorm(valeur qui nous intéresse, moyenne certain écart-type(sd)
variable,écart-type variable)
Atlantis juilland

Probabilité pnorm(valeur qui nous intéresse Proba qu’une valeur soit pnorm(100,100,15)
dans un ,mean=moyenne variable,sd=écart-type entre -l’infini et la valeur
intervalle variable) choisie (dans cet
au moins ou intervalle) probabilité
aussi pnorm(valeur qui nous intéresse, moyenne d'avoir une valeur au
basse variable,écart-type variable) moins aussi basse sur
cette distribution

Probabilité 1 – pnorm(valeur qui nous intéresse, Proba que’une valeur soit 1-pnorm(140,100,15)
dans un moyenne variable,écart-type variable) entre une valeur choisie
intervalle et +l’infini (dans cet
Au moins intervalle)
aussi
haute
Probabilité pnorm(valeur la plus GRANDE, moyenne Proba qu’une valeur soit pnorm(140,100,15)-pnorm(120,100,15)
dans un variable,écart-type variable)-pnorm(valeur la entre 2 valeurs choisies
intervalle plus PETITE, moyenne variable,écart-type (pas de -infini ou de
Entre les variable) +infini)
deux
Simulation rnorm(nombre de valeurs, moyenne Nous donne un certain rnorm(100,50,20)
de variable,écart-type variable) nombre de données au
données hasard mais qui vont plus
ou moins suivre une
distribution normale
Score Z scale(Nom docu dans R$Variable) Les scores Z permettent scale(data_satisfaction$Sport)
+ de standardiser les
moyenne données d’une variable,
et écart- pour que ce soit plus
type de la facile de la comparer
distribution avec d’autres variables
normale (parce que 2 variables ont
Atlantis juilland

centrée souvent pas du tout la


réduite même moyenne ni le
même écart-type)
en les standardisant,
la moyenne sera 0 et
l’écart-type 1
(=distribution normale
centrée réduite) peu
importe la moyenne et
l’é.t. avant
 Standardiser :
(chaque valeur moins
la moyenne)divisé par
l’écart-type
Ex :
Valeurs : 3, 5, 10
Moyenne : 6
Ecart-type : 3,6
(3-6)/3,6=-0,83
(5-6)/3,6=-0,28
(10-6)/3,6=1,11
À faire dans excel, si on
ne veut pas utiliser la
fonction scale dans R
Graph de plot(density(Nom docu dans R$Variable)) Nous donne un graphique plot(density(data_satisfaction$Sport))
densité (dans la partie en bas à
droite) de la densité
d’une variable
Distributio Nom Variable 1<-rep(NA,nombre) Moyennes_des_echantillons <- rep(NA, 10000)
n for(lettre in 1ère itération:dernière itération){ for(i in 1:10000){
d’échantill Nom variable 2<-rnorm(nombre de valeurs, Echantillon_population_reference <-
onnage de moyenne variable,écart-type variable) rnorm(20,100,15)
la Nom Variable 1[lettre]<-mean(Nom variable Moyennes_des_echantillons[i] <- mean(
Atlantis juilland

moyenne 2) Echantillon_population_reference)
(ici } }
fonction
générale,
séparée et
détaillée
plus bas)

Partie 1 Nom Variable 1<-rep(NA,nombre) rep =répéter une action Moyennes_des_echantillons <- rep(NA, 10000)
un certain nombre de fois
(l’action en question sera
décrite après dans la
fonction for et les {} )
NA= une valeur non
définie que l’on souhaite
répéter (qui sera définie
après)
Nombre = le nombre de
fois que l’on veut répéter
cette action
Partie 2 for(lettre in 1ère itération:dernière itération){ for = pour : on dit pour for(i in 1:10000){
quel bloc de code on va
répéter l’action
lettre : souvent on utilise
la lettre « i » mais on
peut utiliser n’importe
quelle lettre ou même un
mot si on préfère
i in 1 :10000 : i c’est le
nom pour une action (ce
qui est mis entre {}) que
l’on va faire 10000 fois
(de 1 à 10000)
Atlantis juilland

Ex : l’action « i » c’est
diviser par 2 et ajouter 3,
donc on va prendre
10000 chiffres au hasard
et pour chacun on divise
par 2 et on ajoute 3
Partie 3 Nom variable 2<-rnorm(nombre de valeurs, Nom variable 2 : on rnorm(20,100,15)
moyenne variable,écart-type variable) crée un échantillon avec Moyennes_des_echantillons[i] <- mean(
Nom Variable 1[lettre]<-mean(Nom variable la fonction rnorm Echantillon_population_reference)
2) rnorm : voir plus haut }
} Nom variable 1 : nom
pour stocker la moyenne
de cet échantillon qu’on
vient de créer
mean : moyenne de
l’échantillon généré au
hasard
Distributio nsim<-chiffre (nombre simulé) !! c’est la même fonction nsim<-1000
n n<-chiffre (nombre) que la précédente sauf n<-20
d’échantill mu<-chiffre (moyenne) que avant d’écrire la mu<-100
onnage de sigma<-chiffre (écart type) fonction on définit les 4 sigma<-15
la Nom Variable 1<-rep(NA,nsim) chiffres dont on a besoin,
moyenne et donc si on doit les samp_distern_means<-rep(NA,nsim)
(2) for(lettre in 1:nsim){ changer c’est plus facile for(lettre in 1:nsim){
Nom variable 2<- (cette forme est plus x<-rnorm(n,mean=mu,sd=sigma)
rnorm(n,mean=mu,sd=sigma) flexible) samp_distern_means [lettre]<-mean(x)
Nom Variable 1[lettre]<-mean(Nom N.B : nsim,n,mu et }
variable 2) sigma sont les mots
} conventionnels (=utilisés
habituellement), mais de
nouveau, ils peuvent être
remplacés par n’importe
quelle lettre/mot
Atlantis juilland

Les mean= et sd= sont


aussi facultatifs 😊
[Link](nombre) Fonction qui permet de [Link](1234)
ensuite générer les
mêmes données
« aléatoires » sur tous les
ordinateurs de tout le
monde.
Ex si 2 personnes utilisent
[Link](123) sur leur
ordi et demandent
ensuite un rnorm(4,2,1)
(donc 4 valeurs random
avec moyenne de 2 et
écart-type de 1) les 2
auront les 4 mêmes
valeurs
NB : s’utilise avant une
fonction rnorm
Utilité : rend des résultats
reproductibles
Définir df= valeur t donnée (degré de liberté) = distribution de probabilité
valeur nombre d’éléments d’information (valeurs) utilisée en statistique
distribution indépendantes disponibles pour calculer la pour estimer la moyenne
_t de statistique d'une population lorsque
student la taille de l'échantillon
(si test_t d’échantillionnage) est petite et que la
df= n_dans_l'échantillon-1 variance de la population
est inconnue.
(si test_t apparié : un test t à un échantillon, Si les variances des deux
qui compare la difference, moyenneH0 à 0) échantillons sont
df= nrow(data)-1 (taille de l’échantillion) supposées égales (test t
pour échantillons df<- n_VC+n_OJ-2
Atlantis juilland

indépendants avec
(si test_t non apparié) variances égales)
df=n_variable_1+n_variable_2−2
Score_t ou (si d’échantillonage) T score : diffèrence entre (si échantillionage)
valeur t t_score <- (moyenne_echantillon - ton échantillon en
moyenne_populationH0) / Hypothèse nulle et la t_score <- (moyenne_echantillon -
(ecart_type_echantillon / sqrt(n)) moyenne général moyenne_populationH0) /
(ecart_type_echantillon / sqrt(n))
(si non apparié) Expliquation : (moyenne
t_score <- (moyenne_Variable1 - general- moyenne H0) / (si non apparié)
moyenne_variable2) / (sqrt(((et_variable1)^2 (ecart type général /
/ (n_variable1)) +((et_variable2)^2) / racine du nombre de t_score <- (moyenne_VC - moyenne_OJ) /
(n_variable2)) ) personne de l’échantillon (sqrt(((et_VC)^2 / (n_VC)) +((et_OJ)^2) /
(n_OJ)) )
(si apparié,un test t à un échantillon, qui
compare la difference, moyenneH0 à 0) (si apparié)
t_score<-(moyenne_diff_entre_variables - t_score <- (moyenne_diff -
moyenne_H0)/(et_des_différences_entre_vari moyenne_populationH0) / (et_echantillon /
ables / sqrt(n)) sqrt(n))

(en ayant crée les vecteurs des chaques


avant ou tu as le data set)

P valeur : Pt(score_t,df) Probabilité dans une pt(-6.53,55)


probabilité distribution_t
dans une
distribution
_t
P valeur pt(-abs(t_score), df)+(1 -pt(abs(t_score), df)) Bilateral : l’hypothèse dit
bilatéral qu’il y aura une diff entre
(pvaleur pour un test bilatéral est le double moyenne h0 et moyenne
de la pvaleur d’un test unilatéral) échantillon ne dit pas si la
moyenne est au dessus
Atlantis juilland

égale ou au dessous
P valeur Si mu<muh0 : Uni : l’hypothèse dit
unilatéral pt(t_score,df) clairement si on s’attend
à une moyenne plus
si mu>muh0 élevée ou plus basse que
1−pt(t_score,df) celle de H0

Test_t à un test.t(data$valeur) permettant de comparer [Link](data$PDI_Score)


échantillio un échantillon à une
n moyenne de référence

(la fonction Le test t donne une p-


test.t fait value, qui permet de
par défaut conclure si la différence
un test non entre les groupes est
apparié, statistiquement
mais utilise significative ou non
quand
même la Donc on peux le by-pass
formule par :
complète
du non Test_t non apparié uni ou
apparié) bilatéral puis pt()
correspondant

test_t apparié uni ou


bilatéral (cf autres lignes)
puis pt() correspondant
Savoir si [Link](data$valeur,mu=valeur de la Bilateral : l’hypothèse dit [Link](data$PDI_Score,mu=100,
un test t moyenne, alternative="less") (uni) qu’il y aura une diff entre alternative="less")
est uni ou moyenne h0 et moyenne
bilateral [Link](data$valeur,mu=valeur de la échantillon ne dit pas si la [Link](data$PDI_Score,mu=100,
moyenne, alternative="[Link]") (bi) moyenne est au dessus alternative="[Link]")
Atlantis juilland

égale ou au dessous
[Link](data$valeur,mu=valeur de la -> [Link](data$PDI_Score,mu=100,
moyenne, alternative="greater") (uni) On rejette toujours H0 si alternative="greater")
la probabilité est égale ou
inférieure à 5% mais on
doit maintenant
considérer les deux côtés
de la distribution. Il faut
donc que les deux
probabilités soient égales
ou inférieures à 0.05 ->
La somme des deux
probabilités doit être
inférieure à 5% pour que
le test soit significatif.

Uni : l’hypothèse dit


clairement si on s’attend
à une moyenne plus
élevée ou plus basse
Mu= moyenne de la
variable
Test_t [Link](data$variable1, data$variable2, test à un échantillon [Link](Anorexia$Post, Anorexia$Prior,
apparié paired=T, alternative ="[Link]") camouflé. Comparer deux paired=T, alternative ="[Link]")
populations entre elles,
OU que nous estimons avec
deux échantillons.
t_score<-(moyenne_diff_entre_variables -
moyenne_H0)/(et_des_différences_entre_vari En résumé: le test t
ables / sqrt(n)) apparié est un test t à un
échantillon qui compare
PUIS la différence à la
La p valeur nécessaire (bilatéral ou référence moyenne de 0
Atlantis juilland

unilatéral)
Utilisé lorsque les
mesures sont faites sur le
même groupe.
Le n<- nombre théorème permettant et_distr_ech_moy <- et/sqrt(n)
théoreme d’obtenir, par calcul, la
central Écart type de la distribution moyenne et l’écart type
limite d’échantillionnage de la moyenne <- de n’importe quelle
Ecart_type_de_la_variable/sqrt(n) distribution mean_distr_ech_moy <- mu
(part 1) d’échantillonnage de la
Moyenne de la distribution moyenne (à partir de la
d’échantillionnage de la_moyenne = moyenne de la population
moyenne de la variable et son écart-type)
(en gros les moyennes sont les mêmes)
Le nsim<-nombre de fois simulé Faire la partie 1 puis nsim<-10000
théorème nom de la variable simulée<-rep(NA,nsim) verifier à l’aide d’une vecteur_pour_mettre_moyenne_a_chaque_itera
central simulation si les résultats tion<-rep(NA,nsim)
limite for(i in 1:nsim){ sont les même
(partie 2) nom de variable 2 pour la simulée<- for(i in 1:nsim){
(si rnorm(n,mu,et) x<-rnorm(n_TCL,mu,et)
demandé) nom de la variable simulée[i]<-mean(nom
de variable 2 pour la simulée) vecteur_pour_mettre_moyenne_a_chaque_itera
} tion[i]<-mean(x)
}
Le mean(nom de la variable simulée) Puis on peux calculer mean(vecteur_pour_mettre_moyenne_a_chaqu
théorème l’écart-type et la e_iteration)
central sd(nom de la variable simulée) moyenne de la simulation
(partie 3) et comparer sd(vecteur_pour_mettre_moyenne_a_chaque_it
(si eration)
demandé) Si même cool c’est juste
obtenir un data$variable sélectionner une partie Anorexia$Post
subset des données d’un jeu de
(sous =donne la colonne données (subset an
Atlantis juilland

ensemble) anglais), sélectionner


d’un toutes les lignes qui
vecteur ou correspondent à un seul
jeu de niveau d’un facteur.
données

sélectionn data[data$variable>nombrevoulu,] sélectionner uniquement Anorexia[Anorexia$Post>100,]


er certaines valeurs de cette
uniquemen = plus grand ou plus petit comme tu veux colonne tout en
t certaines combien tu veux tu peux chercher ce que tu conservant les
valeurs veux informations sur les
d’une autres lignes
colonne ou
jeu de
données
tout en
conservant
les
informatio
ns sur les
autres
lignes
changer data[data$variable=="Mot ou chiffre Self explenatory chickwts[chickwts$feed=="linseed",]
une infos random",]
d’un jeu de
données
cacluler mean(data[data$variable=="mot ou chiffre Self explenatory mean(chickwts[chickwts$feed=="linseed",]
une random",]$variable2) $weight)
moyenne
pour une
des deux
conditions
uniquemen
Atlantis juilland

t dans un
jeu de
données
Test_t non [Link](data[data$variable1=="se qui se comparer les moyennes [Link](ToothGrowth[ToothGrowth$supp
apparié trouve dans cette variable qui nous intéresse de deux échantillons =="VC",]$len,ToothGrowth[ToothGrowth$supp
(ou test 1",]$variable2,data[data$variable1 ==" se issus de deux groupes =="OJ",]$len,alternative ="[Link]")
pour qui se trouve dans cette variable qui nous non appariés
échantillon intéresse 2",]$variable2,alternative
s ="[Link]")
indépenda
nts) (Par défaut, la fonction utilise
l’approximation de Welch-Satterthwaite
Si nous faisons l’hypothèse que les variances (Par défaut, la fonction utilise l’approximation de
sont égales, nous pouvons changer ce Welch-Satterthwaite
paramètre) Si nous faisons l’hypothèse que les variances sont
égales, nous pouvons changer ce paramètre)

[Link](data[data$variable1=="se qui se
trouve dans cette variable qui nous intéresse [Link](ToothGrowth[ToothGrowth$supp
1",]$variable2,data[data$variable1 ==" se =="VC",]$len,ToothGrowth[ToothGrowth$supp
qui se trouve dans cette variable qui nous =="OJ",]$len,alternative ="[Link]",
intéresse 2",]$variable2,alternative [Link] = TRUE)
="[Link]", [Link] = TRUE)

Étape1 : test bilatéral, on veut


Test_t mesurer la probabilité
bilatéral (Si test_t dans un échantillon) que la valeur observée du
(donc t_score <- (moyenne_echantillon - t-score (ou une valeur
P_valeur moyenne_populationH0) / plus extrême) se produise
avec le (ecart_type_echantillon / sqrt(n)) dans les deux queues de
t_score et la distribution t de
le df) (si test_t non apparié) Student.
quand on t_score<-(moyenne_Variable1 -
Atlantis juilland

ne peux moyenne_variable2) / (sqrt(((et_variable1)^2 Pourquoi additionner ces


pas utiliser / (n_variable1)) +((et_variable2)^2) / deux parties ? pt(-abs(t_score), df)+1-pt(abs(t_score), df)
[Link] (n_variable2)) ) La p-value bilatérale est
la somme des
(si test_ apparié, un test t à un échantillon, probabilités des deux
qui compare la difference, moyenneH0 à 0) extrêmes (partie
t_score<-(moyenne_diff_entre_variables - inférieure et supérieure).
moyenne_H0)/(et_des_différences_entre_vari (bilatéral)
ables / sqrt(n)) 1)Calculer la
statistique t (t-score)
en fonction du type de
Étape2 : test.
2)Déterminer la p-
( df=n_variable_1+n_variable_2−2 ) value bilatérale en
( abs= valeur absolue (fonction) ) utilisant pt().
( pt= P_valeur (fonction) ) 3)Comparer la p-value
au seuil alpha =( 0.05)
pt(-abs(t_score), df)+(1 -pt(abs(t_score), df)) pour tirer une conclusion.

étape3 : (cf éxpliquation)


Test_t Étape1 : (unilatéral)
unilatéral 1) Calculer la
(donc (Si test_t dans un échantillon) statistique t (t-
P_valeur t_score <- (moyenne_echantillon - score)
avec le moyenne_populationH0) / manuellement, en
t_score et (ecart_type_echantillon / sqrt(n)) fonction du type de
le df) test.
quand on (si test_t non apparié) 2) Déterminer la p-
ne peux t_score<-(moyenne_Variable1 - value en utilisant
pas utiliser moyenne_variable2) / (sqrt(((et_variable1)^2 la fonction pt().
[Link] / (n_variable1)) +((et_variable2)^2) / 3) Comparer la p-
(n_variable2)) ) value au seuil
alpha (0.05 par
Atlantis juilland

(si test_t apparié, un test t à un échantillon, défaut) pour


qui compare la difference, moyenneH0 à 0) conclure.
t_score<-(moyenne_diff_entre_variables -
moyenne_H0)/(et_des_différences_entre_vari
ables / sqrt(n))
etape 2 :

(Si mu<muh0)
pt(t_score,df)

(si mu>muh0)
1−pt(t_score,df)

Étape 3 : cf expliquation
Distributio et_populationH0/sqrt(n) et_population/sqrt(n)
n normal ?

(largeur
d’un
distribution
= écart-
type)
Taille la taille d’effet = différence entre les
d’effet moyennes ou entre la moyenne de
l’échantillon et la moyenne de référence.
D de cohen (Pour le test apparié ou à un échantillon) Afin de comparer des
tailles d’effets entre elles,
d<- (moyenne_echantillion- on utilise une mesure
moyenne_h0)/ecart_type_echantillion) standardisée de la taille
d’effet. Pour les
comparaisons de
moyennes il s’agit du d
de Cohen.
Atlantis juilland

(Pour le test non aparié) => Mesure la différence


entre les moyennes en
d <- (moyenne_groupe1 - termes d’écart-type.
moyenne_groupe2= taille d’effet)
/sqrt((ecart_type_groupe1^2 + d = 0.2 : Taille d’effet
ecart_type_groupe2^2)/2) faible.
d = 0.5 : Taille d’effet
moyenne.
d = 0.8 : Taille d’effet
grande.
Quantile qt(valeur interessé donnée en permet d’obtenir la valeur qt(0.05,45)
(fonction) pourcent,df=degré de liberté) correspondant à une
(comme probabilité donnée. qnorm(0.3,20,10)
pt() et (sur distribution_t)
pnorm() ) On demande plus haut ou
OU plus bas que la moyenne
donc pour verifier selon qnorm(0.025,100,25)
la demande on fait qnorm(0.025,100,25, [Link]=F) (revient a
qnorm(valeur qui nous intéresse donnée en «, [Link]=F ou T » faire avec 0.975)
pourcent, moyenne variable,écart-type selon la demande, ce qui
variable) revient à faire de l’autre
côté de la valeur
(sur distribution normal) demandée quand tu fais
=F et quand tu fais =T
c’est pour verifier la
valeur du côté demandé

Quand tu met rien ça


revient a faire =T

Ex : demande plus basse,


valeur interessée est
15%.
Atlantis juilland

Donc 0.15 avec ou sans le


[Link]=T

Verifier l’inverse :

0.15 avec [Link]=F


Ou
0.95 avec rien

À toujours interpreter
selon la moyenne

Quand on demande au
centre, sépare le
pourcentage en deux

Intervalle IC_bas <- moyenne ou Différence de L’intervalle de


de moyenne de l’échantillon – quantile(avec confiance (IC) est une
confiance plage de valeurs qui a
valeur de ref 0.025) * (ecart_type de
(dans une forte chance de
échantillio l’échantillon (ou de la population si connu) / contenir la vraie moyenne
n) sqrt(taille_echantillon)) d’une population.

IC_haut <- moyenne ou Différence de On peut le calculer autour


moyenne de l’échantillon + quantile(avec de la moyenne ou de la
valeur de ref 0.025) * (ecart_type de différence de moyenne.
l’échantillon (ou de la population si connu) /
sqrt(taille_echantillon)) Souvent on calcule
l’intervalle de confiance
qui correspond à alpha. Si
Atlantis juilland

alpha = 5%, alors on


calcule l’intervalle de
confiance à 95%. Il s’agit
de l’intervalle délimité
par les quantiles qui
délimitent le 95% des
valeurs autour de la
moyenne sur la
distribution
échantillonnage de la
moyenne.
Calculer la 1) Faire une simulation (rnorm) La puissance doit se
puissance calculer avant de
statistique 2) Calculer la pvaleur correspondantes collecter les données.
(beta) Permet de savoir combien
Sans la 3) Rejeter ou non l’H0 de participants ou d’items
fonction nous aurons besoin et
[Link] donc si nous avons les
t 4) De toutes les réponses, calculer le ressources nécessaires ou
pourcentage de rejet pas pour mener l’étude.

On veux que ça fasse


80%.

Pour augmenter la
puissance on peux :
1) Aug alpha

2) Travailler avec des


tailles d’effets plus
importantes

3) Réduire la variance
Atlantis juilland

4) Augmenter la taille
de l’échantillon

Puissance [Link](n=nombre, delta=taille Il faut spécifier [Link](n=100, delta=10,sd = 40,[Link]


pour test t d’effet,sd =écart_type,[Link] =  le type de test = 0.05,type="[Link]", alternative
avec 0.05(alpha),type="[Link],[Link] (apparié, à un ="[Link]")
fonction ou paired", alternative ="[Link] ou échantillon, non
[Link]") apparié)
(Pour le calcul de la
puissance, les types de
tests sont: “[Link]”,
“[Link]”, “paired”)

 alpha

 si le test est
bilatéral ou
unilatéral
(Attention, ici l’argument
“alterntive” prend soit
“two-sided” ou “one-
sided”)
( A noter: comme la
convention veut qu’on
effectue des tests
bilatéraux, on calcule en
général (et sauf indication
contraire) la puissance
avec des tests bilatéraux)

 la taille d’effet
Atlantis juilland

(paramètre
“delta”)

 la taille de
l’échantillon
(paramètre “n”)
 l’écart-type
(paramètre “sd”)

Savoir la [Link](power= 0.8, delta=taille Il faut juste préciser [Link](power = 0.8,delta=10,sd =


valeur d’effet,sd =écart_type,[Link] = power dans la fonction 40,[Link] = 0.05,type="[Link]",
d’une des 0.05(alpha),type="[Link],[Link] puis lire les résultats. alternative ="[Link]")
variables ou paired", alternative ="[Link] ou
pour avoir [Link]") Exemple : si on veux
puissance savoir la taille de
de 0.8 l’échantillion

La Faire un diagramme : permet de déterminer la plot(dist~speed, data=cars)


régression relation linéaire entre de
linéaire plot(variable1~variable2, data=set de ux variables. Permet de
simple donnée) déterminer si l’une des
(deux variables prédit l’autre.
variables) tirer la droite (a stocker dans une On distingue:
variable) :  la variable
dépendante (celle
lm(y~x) qu’on veut prédire,
axe des Y) lm(cars$dist~cars$speed)
déterminer b0 et b1 (normalement on te  la variable ou
donne mais au cas où) indépendante lm(dist~speed, data=cars)
(celle avec laquelle
b0<-coef(lm(y~x))[1] on veut prédire,
b1<-coef(lm(y~x))[2] axe des X)
Atlantis juilland

intercept :b0
pente (l’autre) :b1 Une relation linéaire peut
être approximée par une
permet de déterminer les valeurs de y en droite
fonction des valeurs de x :
Effectuer une régression
y=a+bx linéaire va consister à
ou trouver la droite qui
y= b0 + b1x (régression lin. Statistique : résume le mieux la
permettra plus de deux variables) relation dans nos
données
a(b0) et b(b1) sont des constantes.
A(b0): valeur de “y” pour x = 0 (intercept) La droite va représenter
B(b1) : pente une tendance, mais les
 x : variable 2 (peut prendre différentes individus ne vont pas tous
valeurs) avoir des valeurs sur la
 y : variable 1 droite.

on te donne les valeurs tu traces comme en


primaire Important:
 la variable
dépendante (celle
qu’on souhaite
prédire) est
toujours quantitat
ive continue
 la variable
indépendante peut
être quantitative
continue, ou
qualitative
(ordinale ou non)
Prédire En remplacant x Une fois que la droite a
Atlantis juilland

avec la été estimée, nous


droite pouvons l’utiliser pour
faire des prédictions.
Les résidus Résidu = valeur observée (y dans le distances des données
data set) - valeur prédite (y= b0 + b1x) individuelles à la droite

erreurs= résidus dans la


population
droite de Yi=β0+(β1Xi)+ϵi un modèle de régression
régression y= b0 + b1x + erreur linéaire simple (par
dans la  β0 : Intercept (dans notre exemple: exemple avec R): nous
population valeur de symptomes dans la utilisons un échantillon
qui nous population pour étudiants avec stress afin d’estimer la pente et
intéresse = 0) l’intercept dans la
 β1: Pente (dans notre exemple: de population. On utilise des
combien augmente les symptômes lettres grecques pour
pour une augmentation de stress = 1) parler des paramètre que
nous souhaitons estimer
 Yi : Variable dépendante, que nous dans la population, et des
souhaitons prédire (symptômes) lettres de notre alphabet
pour parler des
 Xi: Variable indépendante (nous estimations de ces
souhaitons savoir si elle prédit Y, paramètres faites à partir
stress) d’un échantillon.

 ϵi : Erreur résiduelle (dans notre La pente de l’échantillon


exemple: écart entre droite et valeurs = estimation de la pente
réelles, dans la population) dans la population.

L’intercept de
l’échantillon = estimation
de l’intercept dans la
population.
Atlantis juilland

Les résidus de
l’échantillon = estimation
de l’erreur résiduelle dans
la population

L’équation Yi=β0+0X+ϵi Hypothèse nulle : β0=0


de
régression Yi=β0+ϵi => Y a la même valeur
dans la pour toutes les valeurs de
population X (+ erreur)
sous
l’hypothès
e nulle

Le test Calcul de la pente : Les hypothèses nulles et


d’hypothès alternatives concernent
e lm(y~x) une population d’intérêt
(toutes les voitures, tous
Transformer pente en score t : les étudiants, etc.). Nous
n’avons pas accès à toute
t=b1−β1/ES(b1) la population => nous
tirons un échantillon de la
population.
Calcul de la P valeur : Comment faire? Comme
d’habitude:
Pt(score_t,df=n-2)  Nous calculons la
n <- length(x) pente (ou laissons
R le faire avec le
OU fonction lm())
 Nous calculons la
Tu fais juste summary() probabilité d’avoir
(donne pente, intercept,score t, taille obtenu cette valeur
Atlantis juilland

d’effet(r^2 r=corellation) et test pour la pente avec


f(d’hypothèse) qui donne la p value et degre un échantillon de
de liberté) cette taille-là si
l’hypothèse nulle
(car test bilatéral) est vraie. Peut se
faire par simulation
ou par calcul.
=> Consiste à placer la
valeur de b1 sur la
distribution
d’échantillonnage de la
pente sous H0. Nous
fournit la p-valeur
 Si la probabilité est
élevée (> 5%) nous
ne rejetons pas H0.
Si elle est peu
élevée (= ou
inférieure à 0.05)
nous rejetons H0 et
concluons que
nous pouvons
considérer
l’hypothèse
alternative comme
plausible.
Pour ce faire, nous avons
besoin de connaître la
distribution
d’échantillonnage de la
pente.

Distributio Calcul de pente en score t : => distribution t. Nous


Atlantis juilland

n t=b1−β1/ES(b1) utilisons donc une


d’échantill t= pente-intercept(valeur de “y” pour x = distribution t, et c’est sur
onnage de 0)/erreur standard(b1) cette dernière que nous
la pente plaçons notre pente,
(et de (sous H0, β1 = 0) après l’avoir transformée
l’intercept) en score t
Donc :
Score t. Quelle distribution t?
Celle avec un nombre de
degrés de libertés = n-
2 (car nous estimons
deux valeurs, l’intercept
b0 et la pente b1)

l’erreur 1 : moyenne de x et y l´’écart-type des résidus /


Standard la racine carrée de la
de b1 2: écart type des résidus (s) somme des écarts des x à
y_pred <- b0 + b1x la moyenne de x

residus <- y - y_pred (askip pas besoins de


savoir)
s <- sqrt(sum(residus^2) / (length(x) -
2))

3 : erreur standard
ES_b1 <- s / sqrt(sum((x - moyX)^2))
Obtenir summary(lm(y~x)) La fonction summary()
ces nous donne accès à la
informatio valeur de t, à l’erreur
ns dans R standard et à la p valeur
(remplace et l’erreur résiduelle
test
d’hypothès
Atlantis juilland

e)

Hypothèse  Hypothèse
directionne directionnelle:
lle et non spécifie si
directionell l’influence de x sur
e y est positive ou
Et p valeur négative
 Hypothèse non
directionnelle: ne
spécifie pas la
direction de cette
influence,
uniquement que la
pente est
différente de 0
Par convention, on
effectue en général un
test bilatéral. La p-valeur
fournie par R résulte d’un
test bilatéral.

Comme dans le cas de la


comparaison de
moyennes, la p valeur =
probabilité d’obtenir la
valeur de la pente que
nous avons obtenue à
partir de notre échantillon
si la pente = 0 dans la
population.

Intervalle confint(lm(y~x)) Nous fournit la même


Atlantis juilland

de information que dans le


confience cas de la différence de
pour la moyenne mais
pente concernant la pente:
donne les limites
inférieures et supérieures
de l’intervalle
comprenant les 95% des
valeurs autour de la
pente.
Interprétation: Si nous
devions faire la même
expérience 100 fois, 95%
des valeurs de la pente et
de l’intercept se
trouveraient
(théoriquement) dans ces
intervalles
La 1) Calcul de la covariance La corrélation de Pearson,
corrélation est symbolisée avec:
de Pearson ecarts <- (x - mean_x) * (y - mean_y)  ρρ (rho) dans la
puis population
covariance <- sum(ecarts) / (length(x) -  r dans l’échantillon
1) Elle rend compte
d’une relation
ou linéaire entre deux
variables.
cov(x, y)
Alors que la régression
2) Calcul de de la correlation permet de tester une
hypothèse concernant
et_x <-sd(x) l’effet d’une variable sur
l’autre (est-ce que le
Atlantis juilland

et_y <-sd(y) stress influence les


symptômes?). La
r<-covariance/(et_x*et_y) corrélation permet
r simplement d’évaluer la
relation entre deux
variables. Il n’y a pas de
VD et de VI.

Besoin de la covariances
entre les variables :
nombre qui reflète le
degré auquel deux
variables varient
ensemble
La corrélation de Pearson
peut prendre les valeurs
comprises entre -1 à 1
(inclues).
La corrélation rend
compte du degré auquel
les points se groupent
autour de la droite (qui se
calcule comme la droite
de régression).

Prédire Qqnorm(x)
résulats y
dans
distribution
nnormal
moyenne
zero
Atlantis juilland

Vous aimerez peut-être aussi