Enoncé :
Des chercheurs ont réalisé une expérience visant à mettre en évidence l'effet d'une séance d'intervention motivante brève sur le comportement relatif à la consommation d'alcool.
Soixante sujets, qui ont déclaré avoir bu occasionnellement à 2 reprises ou plus au cours du mois précédant l'expérience ont été affectés au hasard soit dans un groupe contrôle, sans traitement (31 sujets) soit dans un groupe expérimental dit "groupe d'intervention brève" (29 sujets).
Le comportement des sujets est mesuré par la variable "nombre de verres bus par semaine".
Les sujets sont évalués avant l'expérience (condition de référence). Chacun des sujets du groupe d'intervention brève bénéficie d'un entretien personnalisé relatif aux problèmes liés à l'alcool. Six semaines après l'entretien, l'ensemble des sujets est de nouveau évalué.
Les données sont les suivantes :
Ref_IB | Ref_Controle | Suivi-IB | Suivi-Controle |
0 | 2 | 14 | 17 |
22 | 24 | 6 | 24 |
22 | 20 | 22 | 19 |
36 | 41 | 1 | 11 |
18 | 24 | 14 | 1 |
24 | 31 | 1 | 20 |
15 | 30 | 15 | 8 |
18 | 6 | 0 | 14 |
13 | 2 | 7 | 34 |
14 | 9 | 8 | 33 |
31 | 15 | 12 | 16 |
33 | 37 | 13 | 14 |
24 | 34 | 19 | 13 |
8 | 32 | 20 | 22 |
24 | 9 | 10 | 11 |
12 | 31 | 1 | 15 |
22 | 11 | 5 | 15 |
26 | 5 | 9 | 3 |
16 | 36 | 12 | 9 |
1 | 22 | 24 | 9 |
17 | 19 | 15 | 27 |
23 | 19 | 14 | 23 |
5 | 1 | 21 | 6 |
12 | 21 | 3 | 14 |
18 | 26 | 11 | 8 |
18 | 36 | 19 | 15 |
13 | 1 | 23 | 17 |
14 | 22 | 15 | 22 |
17 | 5 | 6 | 17 |
10 | 23 | ||
2 | 9 |
Ces données sont enregistrées au format .csv d'Excel dans le fichier : Intv-breve.csv, avec la structure indiquée ci-dessus.
Comparer les moyennes des deux groupes dans la situation de référence :
On peut charger les données dans R à l'aide de la commande :
> IB <- read.csv2("Interv-breve.csv")
N.B. read.csv2 permet de lire des données au format "table", avec les spécifications par défaut suivantes : séparateur = ";", séparateur décimal = ",".
Les données peuvent aussi être entrées par des commandes telles que :
> X1 <- c(0,22,22,36,18,24,15,18,13,14,31,33,24,8,24,12,22,26,16,1,17,23,5,12,18,18,13,14,17)
> X2 <- c(2,24,20,41,24,31,30,6,2,9,15,37,34,32,9,31,11,5,36,22,19,19,1,21,26,36,1,22,5,10,2)
Pour comparer le score dans la situation de référence et le score lors du suivi, avec un test bilatéral :
> t.test(IB[,1], IB[,3],paired=TRUE)
Paired t-test
data: IB[, 1] and IB[, 3]
t = 2.546, df = 28, p-value = 0.01668
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
1.186147 10.951784
sample estimates:
mean of the differences
6.068966
Pour un test unilatéral :
> t.test(IB[,1], IB[,3],alternative="greater",paired=TRUE)
Paired t-test
data: IB[, 1] and IB[, 3]
t = 2.546, df = 28, p-value = 0.008342
alternative hypothesis: true difference in means is greater than 0
95 percent confidence interval:
2.013955 Inf
sample estimates:
mean of the differences
6.068966
Pour obtenir la valeur critique de la statistique au seuil de 5%, pour un test unilatéral avec 58 ddl:
> qt(.95,28)
[1] 1.701131
> qt(.05,28,lower.tail=FALSE)
[1] 1.701131
Pour modifier le degré de confiance associé à l'intervalle de confiance :
> t.test(IB[,1], IB[,3],paired=TRUE,conf.level=0.98)
Paired t-test
data: IB[, 1] and IB[, 3]
t = 2.546, df = 28, p-value = 0.01668
alternative hypothesis: true difference in means is not equal to 0
98 percent confidence interval:
0.1880072 11.9499238
sample estimates:
mean of the differences
6.068966
Le test peut également être réalisé sur des données structurées "par groupe".
Un extrait des données :
Groupe | Ref | Suivi |
IB | 0 | 14 |
IB | 22 | 6 |
IB | 22 | 22 |
... | ... | ... |
Controle | 2 | 17 |
Controle | 24 | 24 |
Controle | 20 | 19 |
... | ... | ... |
Ces données ont été enregistrées dans le fichier Interv-breve-par-groupe.csv
Le test, pour les données relatives au groupe "Intervention Brève" (sujets 1 à 29) peut alors être réalisé à l'aide des commandes suivantes :
> t.test(IB2[1:29,2],IB2[1:29,3],paired=TRUE)
Paired t-test
data: IB2[1:29, 2] and IB2[1:29, 3]
t = 2.546, df = 28, p-value = 0.01668
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
1.186147 10.951784
sample estimates:
mean of the differences
6.068966
Liste des résultats fournis par t.test :
> unlist(t.test(IB2[1:29,2],IB2[1:29,3],paired=TRUE))
statistic.t parameter.df p.value
"2.54601161708515" "28" "0.0166841731869606"
conf.int1 conf.int2 estimate.mean of the differences
"1.18614714147174" "10.9517838930110" "6.06896551724138"
null.value.difference in means alternative method
"0" "two.sided" "Paired t-test"
data.name
"IB2[1:29, 2] and IB2[1:29, 3]"
Il s'agit de la commande tsum.test, qui se trouve dans le package BSDA, qui dépend lui-même du package e1071.
> library(BSDA)
Loading required package: e1071
Loading required package: class
Attaching package: 'BSDA'
> mean(IB2[1:29,2]-IB2[1:29,3])
[1] 6.068966
> sqrt(var(IB2[1:29,2]-IB2[1:29,3]))
[1] 12.83670
> tsum.test(mean.x=6.068966,s.x=12.83670,n.x=29)
One-sample t-Test
data: Summarized x
t = 2.546, df = 28, p-value = 0.01668
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
1.186146 10.951786
sample estimates:
mean of x
6.068966
Enoncé :
Dans
une recherche de psychologie, on a présenté à chaque sujet des
photographies de chiens, de diverses races, pour moitié à poils courts
et pour moitié à poils longs. Chaque sujet évalue le chien présenté en
cochant l'une des 6 cases d'une échelle d'attirance. Les évaluations
ont été codées numériquement de 0 (faible attirance) à 5 (forte
attirance). Dans le tableau ci-dessous, on donne pour chacun des 16
sujets les deux valeurs moyennes des évaluations concernant les deux
types de chiens.
On utilise le package Rcmdr et on saisit les données à l'aide de l'éditeur :
> PLPC <- edit(as.data.frame(NULL))
> names(PLPC)[c(1,2)] <- c("Poils_Longs","Poils_Courts")
Les données peuvent être visualisées par :
> PLPC
Poils_Longs Poils_Courts
1 3.50 2.50
2 2.75 1.25
3 3.50 2.75
4 2.75 0.50
5 1.50 2.00
6 3.00 3.00
7 4.00 2.00
8 3.00 2.00
9 2.75 2.50
10 3.25 0.75
11 4.00 0.50
12 3.00 1.00
13 3.75 1.50
14 4.00 1.75
15 4.00 2.00
16 3.25 2.00
Le test lui-même :
> t.test(PLPC$Poils_Longs, PLPC$Poils_Courts, alternative='two.sided', conf.level=.95, paired=TRUE)
Paired t-test
data: PLPC$Poils_Longs and PLPC$Poils_Courts
t = 5.7426, df = 15, p-value = 3.890e-05
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
0.9432502 2.0567498
sample estimates:
mean of the differences
1.5
Lien vers le Workspace correspondant : PLPC.Rdata