Introduction

Ce mooc est à l’adresse https://www.fun-mooc.fr/courses/course-v1:UPSUD+42001+session10/info Les notes de ce MOOC sont publiés sur

A la fin de ce document, un chapitre de note et de bookmarks notamment pour l’utilisation de librairie R externes a été créé.

Semaine1:Introduction aux statistiques et à R, description d’une variable

Chapitre1:Définitons

Terme Définition
probabilité d’1 evt Fréquence d’apparition de l’evt
variable aléatoire discrète c’est 1 var qui ne prend que quelques modlaités (valeurs): par exemple: 2, 3.2, 0.05
variable aléatoire discrète c’est 1 var dont le nombre de modalité est théroriquement infini (mais peux être compris dans un intervalle)
Probabilité d’avoir 1 nombre pair lors du tirage d’un dé équilibré à 6 faces parmi 1,2,3,4,5,6 les modalités paires sont 2,4,6: il y a donc 3 modalités / 6 possibles = 50% de chance
Distribution normale c’est la fréquence des modalités d’une variable aléatoire suite à un nombre important de tirage aléatoire de cette variable: elle a une forme de cloche
Variable qualitative variable discrète dont les modalités permettent de qualifier: exemple: couleur d’un pull
Variable quantitative variable discrète ou quanti qui permet de valoriser: exemple : poids ou age d’un individu

Quiz mémoire1

Qu’est-ce qu’une probabilité ? C’est la fréquence de l’apparition d’un evt

Une variable aléatoire prend uniquement les 3 valeurs suivantes (4.12, 3.08, 0.05). Donner la bonne affirmation. C’est une variable discrète

Soit un dé équilibré, avec autant de chances d’obtenir chacune des valeurs suivantes 1, 2, 3, 4, 5 ou 6 : quelle est la probabilité de l’événement “obtenir un nombre pair” ? 0,5

Une distribution normale a une forme de “cloche”. OUI

Chapitre2:Représentations graphiques

Le but est de représenter sur un graphique la distribution de variables qualitatives et quantitatives. Quelques expemples de graphiques:

  • les diagrammes en bâtons,
  • les camemberts,
  • les histogrammes,
  • les boîtes à moustaches,
  • les diagrammes cartésiens,
  • les diagrammes en fagot.

Importer des données et positionner le répertoire de travail

Avant tout, il faut importer les données:

## 'data.frame':    799 obs. of  26 variables:
##  $ age         : int  31 49 50 47 23 34 24 52 42 45 ...
##  $ prof        : Factor w/ 8 levels "agriculteur",..: 3 NA 7 6 8 6 3 2 6 6 ...
##  $ duree       : int  4 NA 5 NA 4 NA NA 5 4 NA ...
##  $ discip      : int  0 0 0 0 1 0 0 0 1 0 ...
##  $ n.enfant    : int  2 7 2 0 1 3 5 2 1 2 ...
##  $ n.fratrie   : int  4 3 2 6 6 2 3 9 12 5 ...
##  $ ecole       : int  1 2 2 1 1 2 1 2 1 2 ...
##  $ separation  : int  0 1 0 1 1 0 1 0 1 0 ...
##  $ juge.enfant : int  0 0 0 0 NA 0 1 0 1 0 ...
##  $ place       : int  0 0 0 1 1 0 1 0 0 0 ...
##  $ abus        : int  0 0 0 0 0 0 0 0 1 1 ...
##  $ grav.cons   : int  1 2 2 1 2 1 5 1 5 5 ...
##  $ dep.cons    : int  0 0 0 0 1 0 1 0 1 0 ...
##  $ ago.cons    : int  1 0 0 0 0 0 0 0 0 0 ...
##  $ ptsd.cons   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ alc.cons    : int  0 0 0 0 0 0 0 0 1 1 ...
##  $ subst.cons  : int  0 0 0 0 0 0 1 0 1 0 ...
##  $ scz.cons    : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ char        : int  1 1 1 1 1 1 1 1 4 1 ...
##  $ rs          : int  2 2 2 2 2 1 3 2 3 2 ...
##  $ ed          : int  1 2 3 2 2 2 3 2 3 2 ...
##  $ dr          : int  1 1 2 2 2 1 2 2 1 2 ...
##  $ suicide.s   : int  0 0 0 1 0 0 3 0 4 0 ...
##  $ suicide.hr  : int  0 0 0 0 0 0 1 0 1 0 ...
##  $ suicide.past: int  0 0 0 0 1 0 1 0 1 0 ...
##  $ dur.interv  : int  NA 70 NA 105 NA NA 105 84 78 60 ...

A ce stade, on observe dans R, dans l’onglet Environnement le dataframe smp que l’on peux manipuler.

Diagramme baton (bar)

Le but est de représenter la distribution d’une variable: Par exemple: le nombre de détenus par métier

Diagramme camembert (pie)

histogramme

C’est le grand classique pour représenter la distribution d’une variable aléatoire quantitative continue

boite à moustache (boxplot)

Utile pour les variables quantitatives

  • à l’intérieur de la boîte, on a 50 % des données,
  • on a ensuite une moustache supérieure,
  • et entre le bord supérieur de la boîte et la moustache supérieure, on a 25 % des données,
  • et entre le bord inférieur de la boîte et la moustache inférieure, on a aussi 25% des données.

Ce n’est pas exactement cela car on peux voir des modalités au dessus de la moustache supérieure. La moustache supérieur n’est pas égale au max des modalités mais : min(max des données, 1,5 X écart-types au dessus du bord supérieur de la boîte).

L’intéret de boxplot est de représenter la distrib d’une var quanti en fonction de sous groupes. Par exemple quelle est la distrib de l’age par rapport à la consommation de substance:

On remarque que les jeunes consomment plus que les vieux

Graphique x/y (plot)

On remarque que en moyenne, plus un détenu est agé, plus son nombre d’enfant est elevé

Les modalités identiques se superposent et ne sont pas visibles. Si on veux voir toutes les modalités même les doublons, on peux décaler visuellement les valeurs identiques avec jitter

Données temporelles

## 'data.frame':    1053 obs. of  3 variables:
##  $ NUMERO: int  96 96 96 96 96 96 96 96 157 157 ...
##  $ VISIT : int  0 4 7 14 21 28 42 56 0 4 ...
##  $ HDRS  : int  34 26 12 7 5 1 1 1 27 19 ...

On utilise la fonction plotmeans pour représenter l’évolution d’une variable dans le temps

## 
## Attaching package: 'gplots'
## The following object is masked from 'package:stats':
## 
##     lowess

Ensuite on utilise plotmeans

## Warning in arrows(x, li, x, pmax(y - gap, li), col = barcol, lwd = lwd, :
## zero-length arrow is of indeterminate angle and so skipped

## Warning in arrows(x, li, x, pmax(y - gap, li), col = barcol, lwd = lwd, :
## zero-length arrow is of indeterminate angle and so skipped
## Warning in arrows(x, ui, x, pmin(y + gap, ui), col = barcol, lwd = lwd, :
## zero-length arrow is of indeterminate angle and so skipped

## Warning in arrows(x, ui, x, pmin(y + gap, ui), col = barcol, lwd = lwd, :
## zero-length arrow is of indeterminate angle and so skipped

On constate que l’état de santé des patients évolue eu fur et à mesure du temps

Si on veux représenter l’évolution de l’état pour chaque patient sur une seule courbe, on utilise interaction.plot. Cette fonction prend 3 paramétres: le temps (VISIT), la variable qui indique chaque sujet (NUMERO), la variable à représenter (HDRS)

legend=FALSE permet d’éviter de faire déborder la légende sur le graphique

Quiz mémoire2

Quelle commande faut-il utiliser pour représenter graphiquement la distribution de la taille de 100 individus ?

hist(data)

Quelle commande R permet de tracer graphiquement la distribution du nombre d’enfants en fonction de l’âge ?

plot(age,n.enfant)

Quelle instruction permet d’insérer un titre à un graphique dans R ?

main=“super clean !!”

Chapitre3:Mesure de position et de dispersion: Principes de base

Comment aggréger les mesures pour synthétiser ? on utilise les mesures de position et de dispersion: moyenne, médiane, écart-type Par exemple: autour de quel age se situe la population des fumeurs de canabis: Pour répondre à cette question, on peux faire une mesure de position. On a également besoin d’évaluer la dispersion: cad la répartition en fonction de sous groupe de position

Position

Mesures de position Mesures de dispersion
Pour une var catégorielle: il suffit de lister le pourcentage pour chaque catégorie. Pour une var quanti, on peux utiliser la moyenne et la médiane pour var quanti et cat, on peux utiliser les quartiles ou l’écart-type

médiane = 50% des obs sont au dessus et 50% au dessous ==> intuitif et robuste (les valeurs extremes ne modifient pas la médiane puisqu’on coupe l’échantillon en 2) moyenne = centre de gravité ==> simple à calculer contrairement à la médiane, propriété mathématique du barycentre, intérêt comptable pour le calcul de KI

Distribution

les quartiles découpent le jeu d’observation en 4 parties égales. Par exemple pour 20 observations, on aura:

  • Entre 0 et Q1: 25% des sujets dont les observations sont inférieures au 1er quartile
  • \([Q1;Median]\) et \([Median;Q3]\): 50% des sujets dont les obs se regroupe autour de la médiane
  • Après Q3: 25% des sujets dont les observations sont supérieures au 3éme quartiles

L’écart type est la racine carré de la variance: \(et= \sqrt{variance}\)

La variance est la moyenne des carrés des écarts à la moyenne: \(variance = (\sum_{i=1}^n (x_i-m)^2)/n\)

L’écart type correspond à une inertie et a de bonnes propriétés mathématiques. L’écart-type au carré = variance = moyenne des carrées moins la moyenne au carré: \(et^2=var=(\sum_{i=1}^n x^2_i)/n-(\sum_{i=1}^n x_i)/n)^2\)

ET n’a pas beaucoup de sens , sauf quand la variable a une distribution normale. Dans ce cas, \([m - et ; et + m]\) représente 2/3 des données (le gros de la troupe)

Quiz mémoire 3

On relève la taille de 10 personnes en mètre : 1.71 m, 1.70 m, 1.65 m, 1.54 m, 1.70 m, 1.63 m, 1.81 m, 400 m, 1.81 m, 1.64 m. On remarque la présence d’une valeur aberrante dans cet échantillon (il est impossible qu’une personne mesure 400 mètres). Quel indice de position est-il préférable d’utiliser pour bien estimer la taille des individus de la population ?

La médiane

## [1] 41.519
## [1] 125.9574
## [1] 1.7
## Description of structure(list(x = c(1.71, 1.7, 1.65, 1.54, 1.7, 1.63, 1.81,  400, 1.81, 1.64)), .Names = "x", row.names = c(NA, -10L), class = "data.frame")
## 
##  Numeric 
##    mean median      var     sd valid.n
## x 41.52    1.7 15865.27 125.96      10

Nous disposons d’un échantillon issu d’une variable aléatoire gaussienne (autrement dit, qui suit une loi normale). La moyenne de l’échantillon vaut environ 1.7 et son écart-type vaut environ 0.1. Quelle est la part des données comprises entre 1.6 et 1.8 ?

la variable suit une loi normale. Dans ce cas, [m - et ; et + m] (cad [1.6;1.8]) représente 2/3 des données (le gros de la troupe).

Pour une distribution symétrique :

La moyenne est égale à la médiane

Dans quel cas utilisons-nous un écart-type ?

Pour calculer un intervalle de confiance

L’intervalle inter-quartile entre le premier et le troisième quartile

Regroupe la moitié de l’échantillon

Chapitre4: Mesure de position et de dispersion: Pratique

Commande R pour les mesures de position et de dispertion d’un dataframe

##       age                       prof         duree           discip     
##  Min.   :19.0   ouvrier           :227   Min.   :1.000   Min.   :0.000  
##  1st Qu.:28.0   sans emploi       :222   1st Qu.:4.000   1st Qu.:0.000  
##  Median :37.0   employe           :135   Median :5.000   Median :0.000  
##  Mean   :38.9   artisan           : 90   Mean   :4.302   Mean   :0.232  
##  3rd Qu.:48.0   prof.intermediaire: 58   3rd Qu.:5.000   3rd Qu.:0.000  
##  Max.   :83.0   (Other)           : 61   Max.   :5.000   Max.   :1.000  
##  NA's   :2      NA's              :  6   NA's   :223     NA's   :6      
##     n.enfant        n.fratrie          ecole         separation    
##  Min.   : 0.000   Min.   : 0.000   Min.   :1.000   Min.   :0.0000  
##  1st Qu.: 0.000   1st Qu.: 2.000   1st Qu.:1.000   1st Qu.:0.0000  
##  Median : 1.000   Median : 3.000   Median :2.000   Median :0.0000  
##  Mean   : 1.755   Mean   : 4.287   Mean   :1.866   Mean   :0.4226  
##  3rd Qu.: 3.000   3rd Qu.: 6.000   3rd Qu.:2.000   3rd Qu.:1.0000  
##  Max.   :13.000   Max.   :21.000   Max.   :5.000   Max.   :1.0000  
##  NA's   :26                        NA's   :5       NA's   :11      
##   juge.enfant         place             abus          grav.cons    
##  Min.   :0.0000   Min.   :0.0000   Min.   :0.0000   Min.   :1.000  
##  1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:2.000  
##  Median :0.0000   Median :0.0000   Median :0.0000   Median :4.000  
##  Mean   :0.2771   Mean   :0.2285   Mean   :0.2778   Mean   :3.643  
##  3rd Qu.:1.0000   3rd Qu.:0.0000   3rd Qu.:1.0000   3rd Qu.:5.000  
##  Max.   :1.0000   Max.   :1.0000   Max.   :1.0000   Max.   :7.000  
##  NA's   :5        NA's   :7        NA's   :7        NA's   :4      
##     dep.cons         ago.cons        ptsd.cons         alc.cons     
##  Min.   :0.0000   Min.   :0.0000   Min.   :0.0000   Min.   :0.0000  
##  1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0000  
##  Median :0.0000   Median :0.0000   Median :0.0000   Median :0.0000  
##  Mean   :0.3967   Mean   :0.1665   Mean   :0.2165   Mean   :0.1865  
##  3rd Qu.:1.0000   3rd Qu.:0.0000   3rd Qu.:0.0000   3rd Qu.:0.0000  
##  Max.   :1.0000   Max.   :1.0000   Max.   :1.0000   Max.   :1.0000  
##                                                                     
##    subst.cons        scz.cons           char             rs       
##  Min.   :0.0000   Min.   :0.0000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:1.000   1st Qu.:1.000  
##  Median :0.0000   Median :0.0000   Median :1.000   Median :2.000  
##  Mean   :0.2653   Mean   :0.0826   Mean   :1.512   Mean   :2.057  
##  3rd Qu.:1.0000   3rd Qu.:0.0000   3rd Qu.:2.000   3rd Qu.:3.000  
##  Max.   :1.0000   Max.   :1.0000   Max.   :4.000   Max.   :3.000  
##                                    NA's   :96      NA's   :103    
##        ed              dr          suicide.s        suicide.hr    
##  Min.   :1.000   Min.   :1.000   Min.   :0.0000   Min.   :0.0000  
##  1st Qu.:1.000   1st Qu.:1.000   1st Qu.:0.0000   1st Qu.:0.0000  
##  Median :2.000   Median :2.000   Median :0.0000   Median :0.0000  
##  Mean   :1.866   Mean   :2.153   Mean   :0.7942   Mean   :0.2013  
##  3rd Qu.:3.000   3rd Qu.:3.000   3rd Qu.:1.0000   3rd Qu.:0.0000  
##  Max.   :3.000   Max.   :3.000   Max.   :5.0000   Max.   :1.0000  
##  NA's   :107     NA's   :111     NA's   :41       NA's   :39      
##   suicide.past      dur.interv    
##  Min.   :0.0000   Min.   :  0.00  
##  1st Qu.:0.0000   1st Qu.: 48.00  
##  Median :0.0000   Median : 60.00  
##  Mean   :0.2841   Mean   : 61.89  
##  3rd Qu.:1.0000   3rd Qu.: 75.00  
##  Max.   :1.0000   Max.   :120.00  
##  NA's   :14       NA's   :50

On peux observer: * pour les var quanti: le min, le max, les quartiles, la médiane, la moyenne, le nb de données manquantes * pour les var cat: le nb de sujet pour chaque modalité et le nb de données manquantes

Summary n’est pas très pratique quand le nb de variables est important. Pour éviter cela on utilise describe (package de prettyR)

## Description of smp
## 
##  Numeric 
##               mean median    var    sd valid.n
## age          38.90     37 176.38 13.28     797
## duree         4.30      5   0.75  0.87     576
## discip        0.23      0   0.18  0.42     793
## n.enfant      1.76      1   3.36  1.83     773
## n.fratrie     4.29      3  11.84  3.44     799
## ecole         1.87      2   0.96  0.98     794
## separation    0.42      0   0.24  0.49     788
## juge.enfant   0.28      0   0.20  0.45     794
## place         0.23      0   0.18  0.42     792
## abus          0.28      0   0.20  0.45     792
## grav.cons     3.64      4   2.73  1.65     795
## dep.cons      0.40      0   0.24  0.49     799
## ago.cons      0.17      0   0.14  0.37     799
## ptsd.cons     0.22      0   0.17  0.41     799
## alc.cons      0.19      0   0.15  0.39     799
## subst.cons    0.27      0   0.20  0.44     799
## scz.cons      0.08      0   0.08  0.28     799
## char          1.51      1   0.73  0.85     703
## rs            2.06      2   0.77  0.88     696
## ed            1.87      2   0.76  0.87     692
## dr            2.15      2   0.69  0.83     688
## suicide.s     0.79      0   2.06  1.44     758
## suicide.hr    0.20      0   0.16  0.40     760
## suicide.past  0.28      0   0.20  0.45     785
## dur.interv   61.89     60 386.89 19.67     749
## 
##  Factor 
##          
## prof      ouvrier sans emploi employe artisan prof.intermediaire autre
##   Count    227.00      222.00   135.0   90.00              58.00 31.00
##   Percent   28.41       27.78    16.9   11.26               7.26  3.88
##          
## prof      cadre agriculteur <NA>
##   Count      24        6.00 6.00
##   Percent     3        0.75 0.75
## Mode ouvrier

Commande R pour des calculs de position et de dispersion sur 1 variable cat ou quant

On peux calculer isolémment les valeurs pour les var quant:

  • moyenne avec mean
  • écart type avec sd (standard deviation)

Attention, pour aboutir à un résultat, il faut rejeter les données manquantes avec l’option na.rm=TRUE

## [1] 38.89962
## [1] 13.28098
## [1] 19
## [1] 83

pour les var cat, on utilise la commande table

Attention pour les données manquantes, on peux utiliser l’option useNA=“always” afin de savoir combien de données manquantes existent dans l’échantillon

## 
##        agriculteur            artisan              autre 
##                  6                 90                 31 
##              cadre            employe            ouvrier 
##                 24                135                227 
## prof.intermediaire        sans emploi               <NA> 
##                 58                222                  6
## smp$prof
##        agriculteur            artisan              autre 
##                  6                 90                 31 
##              cadre            employe            ouvrier 
##                 24                135                227 
## prof.intermediaire        sans emploi               <NA> 
##                 58                222                  6

En complément, on peux utiliser la librairie Knitr qui fournit la fonction kable pour faire des affichages plus sympa des tableaux

Var1 Freq
agriculteur 6
artisan 90
autre 31
cadre 24
employe 135
ouvrier 227
prof.intermediaire 58
sans emploi 222
NA 6

On peux également utiliser une extension rmarkdown qui permet de manipuler des dataframe ou des tableaux avec beaucoup de lignes

La fonction datatable du package DT propose également son propre formatage

A noter, qu’il existe de nombreuses librairies qui facilitent le formatage des tableaux:

  • printr: étend le fonctionnement de knitr
  • kableExtra: étend la fonction kable de knitr
  • formattable à utiliser en conjonction avec kableExtra
  • panter
  • xtable
  • tables
  • sjPlot

Quiz mémoire4

Comment représenter une donnée manquante dans R ? NA

Quelle fonction permet de faire le résumé des variables du jeu de données “data”, en affichant les quantiles et le nombre de valeurs manquantes de chaque variable ? summary(data)

Quelle fonction simple permet d’afficher le type des variables et les 10 premières observations de chaque variable du jeu de données “data” ? str(data)

Quelle fonction permet de calculer spécifiquement la moyenne d’une variable numérique ? mean(variable)

Que permet de faire la fonction table ? générer le tableau d’effectif (effectifs pour chaque variable avec option valeurs manquantes: useNA=“always”)

Lab1:Gestion des données, dataframe, var numériques (quant) et cat (qual)

Décrire les données

##  [1] "age"          "prof"         "duree"        "discip"      
##  [5] "n.enfant"     "n.fratrie"    "ecole"        "separation"  
##  [9] "juge.enfant"  "place"        "abus"         "grav.cons"   
## [13] "dep.cons"     "ago.cons"     "ptsd.cons"    "alc.cons"    
## [17] "subst.cons"   "scz.cons"     "char"         "rs"          
## [21] "ed"           "dr"           "suicide.s"    "suicide.hr"  
## [25] "suicide.past" "dur.interv"
## 'data.frame':    799 obs. of  26 variables:
##  $ age         : int  31 49 50 47 23 34 24 52 42 45 ...
##  $ prof        : Factor w/ 8 levels "agriculteur",..: 3 NA 7 6 8 6 3 2 6 6 ...
##  $ duree       : int  4 NA 5 NA 4 NA NA 5 4 NA ...
##  $ discip      : int  0 0 0 0 1 0 0 0 1 0 ...
##  $ n.enfant    : int  2 7 2 0 1 3 5 2 1 2 ...
##  $ n.fratrie   : int  4 3 2 6 6 2 3 9 12 5 ...
##  $ ecole       : int  1 2 2 1 1 2 1 2 1 2 ...
##  $ separation  : int  0 1 0 1 1 0 1 0 1 0 ...
##  $ juge.enfant : int  0 0 0 0 NA 0 1 0 1 0 ...
##  $ place       : int  0 0 0 1 1 0 1 0 0 0 ...
##  $ abus        : int  0 0 0 0 0 0 0 0 1 1 ...
##  $ grav.cons   : int  1 2 2 1 2 1 5 1 5 5 ...
##  $ dep.cons    : int  0 0 0 0 1 0 1 0 1 0 ...
##  $ ago.cons    : int  1 0 0 0 0 0 0 0 0 0 ...
##  $ ptsd.cons   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ alc.cons    : int  0 0 0 0 0 0 0 0 1 1 ...
##  $ subst.cons  : int  0 0 0 0 0 0 1 0 1 0 ...
##  $ scz.cons    : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ char        : int  1 1 1 1 1 1 1 1 4 1 ...
##  $ rs          : int  2 2 2 2 2 1 3 2 3 2 ...
##  $ ed          : int  1 2 3 2 2 2 3 2 3 2 ...
##  $ dr          : int  1 1 2 2 2 1 2 2 1 2 ...
##  $ suicide.s   : int  0 0 0 1 0 0 3 0 4 0 ...
##  $ suicide.hr  : int  0 0 0 0 0 0 1 0 1 0 ...
##  $ suicide.past: int  0 0 0 0 1 0 1 0 1 0 ...
##  $ dur.interv  : int  NA 70 NA 105 NA NA 105 84 78 60 ...
##       age                       prof         duree           discip     
##  Min.   :19.0   ouvrier           :227   Min.   :1.000   Min.   :0.000  
##  1st Qu.:28.0   sans emploi       :222   1st Qu.:4.000   1st Qu.:0.000  
##  Median :37.0   employe           :135   Median :5.000   Median :0.000  
##  Mean   :38.9   artisan           : 90   Mean   :4.302   Mean   :0.232  
##  3rd Qu.:48.0   prof.intermediaire: 58   3rd Qu.:5.000   3rd Qu.:0.000  
##  Max.   :83.0   (Other)           : 61   Max.   :5.000   Max.   :1.000  
##  NA's   :2      NA's              :  6   NA's   :223     NA's   :6      
##     n.enfant        n.fratrie          ecole         separation    
##  Min.   : 0.000   Min.   : 0.000   Min.   :1.000   Min.   :0.0000  
##  1st Qu.: 0.000   1st Qu.: 2.000   1st Qu.:1.000   1st Qu.:0.0000  
##  Median : 1.000   Median : 3.000   Median :2.000   Median :0.0000  
##  Mean   : 1.755   Mean   : 4.287   Mean   :1.866   Mean   :0.4226  
##  3rd Qu.: 3.000   3rd Qu.: 6.000   3rd Qu.:2.000   3rd Qu.:1.0000  
##  Max.   :13.000   Max.   :21.000   Max.   :5.000   Max.   :1.0000  
##  NA's   :26                        NA's   :5       NA's   :11      
##   juge.enfant         place             abus          grav.cons    
##  Min.   :0.0000   Min.   :0.0000   Min.   :0.0000   Min.   :1.000  
##  1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:2.000  
##  Median :0.0000   Median :0.0000   Median :0.0000   Median :4.000  
##  Mean   :0.2771   Mean   :0.2285   Mean   :0.2778   Mean   :3.643  
##  3rd Qu.:1.0000   3rd Qu.:0.0000   3rd Qu.:1.0000   3rd Qu.:5.000  
##  Max.   :1.0000   Max.   :1.0000   Max.   :1.0000   Max.   :7.000  
##  NA's   :5        NA's   :7        NA's   :7        NA's   :4      
##     dep.cons         ago.cons        ptsd.cons         alc.cons     
##  Min.   :0.0000   Min.   :0.0000   Min.   :0.0000   Min.   :0.0000  
##  1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.0000  
##  Median :0.0000   Median :0.0000   Median :0.0000   Median :0.0000  
##  Mean   :0.3967   Mean   :0.1665   Mean   :0.2165   Mean   :0.1865  
##  3rd Qu.:1.0000   3rd Qu.:0.0000   3rd Qu.:0.0000   3rd Qu.:0.0000  
##  Max.   :1.0000   Max.   :1.0000   Max.   :1.0000   Max.   :1.0000  
##                                                                     
##    subst.cons        scz.cons           char             rs       
##  Min.   :0.0000   Min.   :0.0000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:1.000   1st Qu.:1.000  
##  Median :0.0000   Median :0.0000   Median :1.000   Median :2.000  
##  Mean   :0.2653   Mean   :0.0826   Mean   :1.512   Mean   :2.057  
##  3rd Qu.:1.0000   3rd Qu.:0.0000   3rd Qu.:2.000   3rd Qu.:3.000  
##  Max.   :1.0000   Max.   :1.0000   Max.   :4.000   Max.   :3.000  
##                                    NA's   :96      NA's   :103    
##        ed              dr          suicide.s        suicide.hr    
##  Min.   :1.000   Min.   :1.000   Min.   :0.0000   Min.   :0.0000  
##  1st Qu.:1.000   1st Qu.:1.000   1st Qu.:0.0000   1st Qu.:0.0000  
##  Median :2.000   Median :2.000   Median :0.0000   Median :0.0000  
##  Mean   :1.866   Mean   :2.153   Mean   :0.7942   Mean   :0.2013  
##  3rd Qu.:3.000   3rd Qu.:3.000   3rd Qu.:1.0000   3rd Qu.:0.0000  
##  Max.   :3.000   Max.   :3.000   Max.   :5.0000   Max.   :1.0000  
##  NA's   :107     NA's   :111     NA's   :41       NA's   :39      
##   suicide.past      dur.interv    
##  Min.   :0.0000   Min.   :  0.00  
##  1st Qu.:0.0000   1st Qu.: 48.00  
##  Median :0.0000   Median : 60.00  
##  Mean   :0.2841   Mean   : 61.89  
##  3rd Qu.:1.0000   3rd Qu.: 75.00  
##  Max.   :1.0000   Max.   :120.00  
##  NA's   :14       NA's   :50
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    19.0    28.0    37.0    38.9    48.0    83.0       2
## [1] 31
##  [1] 31 49 50 47 23 34 24 52 42 45
## [1] 19
##  [1] 0 0 0 0 0 0 0 0 1 1
## [1] 0 1
##  [1] 0 0 0 0 0 0 0 0 1 1
## [1] 799
## 
##   0   1 
## 572 220
## 
##    0    1 <NA> 
##  572  220    7

Passer d’une var quanti à 1 var quali avec factor

Dans le fichier suite à l’import, abus est une var cat qui a été importée comme une variable numérique. Cela est confirmé avec la commande summary:

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##  0.0000  0.0000  0.0000  0.2778  1.0000  1.0000       7

Si on souhaite la traiter comme une var quali (cat), on peux utiliser pour cela la commande factor. R va alors associer des niveaux pour chaque modalité différente de la variable

## [1] 0 0 0 0 0 0
## [1] 0 0 0 0 0 0
## Levels: 0 1
## 
##    0    1 <NA> 
##  572  220    7
## abus.factor
##  Non  Oui <NA> 
##  572  220    7

A noter que abus.factor a été ajouté à l’espace de travail

Création de niveaux aggrégés avec factor et levels

On peux créer des aggrégations et diminuer le nb de modaliés en créant des catégories. Par exemple, on va créer 5 catégories de détenus à partir du nombre d’enfants qu’ils ont: on peux créer 6 niveaux niveau 1: 1 enfant, niveau 2: 2 enfants, etc. A partir de 6 enfants et plus on pourra aggréger en 1 seul niveau. Tout d’abord on observe la variable:

##  [1] "age"          "prof"         "duree"        "discip"      
##  [5] "n.enfant"     "n.fratrie"    "ecole"        "separation"  
##  [9] "juge.enfant"  "place"        "abus"         "grav.cons"   
## [13] "dep.cons"     "ago.cons"     "ptsd.cons"    "alc.cons"    
## [17] "subst.cons"   "scz.cons"     "char"         "rs"          
## [21] "ed"           "dr"           "suicide.s"    "suicide.hr"  
## [25] "suicide.past" "dur.interv"
## [1] 2 7 2 0 1 3
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   0.000   0.000   1.000   1.755   3.000  13.000      26
## 
##   0   1   2   3   4   5   6   7   8   9  10  11  13 
## 214 220 125 101  55  31   7   7   7   2   2   1   1
## 
## FALSE  TRUE 
##   715    58

Ensuite, on va créer une nouvelle variable n.enfant.cat traitée comme un facteur R:

##   [1] 2    7    2    0    1    3    5    2    1    2    0    <NA> 0    3   
##  [15] 3    0    2    1    <NA> 1    1    0    0    3    1    3    1    2   
##  [29] 3    0    1    3    2    1    2    1    1    3    1    0    0    1   
##  [43] 0    1    2    2    1    1    0    2    0    2    0    1    1    0   
##  [57] 2    2    0    0    0    0    1    0    1    3    1    0    1    1   
##  [71] 1    0    0    1    0    1    1    0    0    0    1    0    0    0   
##  [85] 0    2    1    4    4    0    1    7    1    0    0    1    0    4   
##  [99] 1    3    2    4    0    1    0    0    1    1    3    1    0    2   
## [113] 2    1    0    0    1    3    5    2    3    2    1    1    0    3   
## [127] 10   4    2    2    0    1    3    0    1    0    1    0    0    3   
## [141] 0    1    1    0    0    11   2    0    0    1    0    1    2    2   
## [155] 2    0    1    4    2    0    0    1    0    1    1    0    2    1   
## [169] 2    1    0    0    1    5    0    1    0    0    0    3    3    3   
## [183] 1    0    5    1    3    1    1    1    0    6    0    0    0    3   
## [197] 1    0    2    5    2    3    3    1    1    1    1    7    2    5   
## [211] 4    0    2    0    0    1    0    2    3    0    2    3    4    1   
## [225] 0    0    1    1    3    1    0    1    3    3    3    2    8    2   
## [239] 4    3    0    1    0    1    0    2    0    0    2    9    3    0   
## [253] 1    1    2    4    0    1    7    4    0    8    1    1    2    0   
## [267] 8    5    2    1    8    1    2    3    3    8    2    1    1    4   
## [281] 0    3    0    2    3    1    <NA> <NA> 2    <NA> 3    2    0    0   
## [295] 1    5    1    3    3    <NA> 5    4    <NA> <NA> 2    <NA> <NA> <NA>
## [309] <NA> <NA> 2    3    1    2    1    0    2    <NA> 1    3    0    1   
## [323] 0    5    7    3    2    3    <NA> 4    4    1    0    0    <NA> 0   
## [337] 5    1    <NA> 3    2    1    3    2    1    <NA> 0    0    1    0   
## [351] 3    1    <NA> <NA> 0    1    <NA> 3    0    0    1    3    0    5   
## [365] 2    1    5    4    0    1    2    0    0    1    0    4    2    0   
## [379] 0    5    3    2    2    2    6    0    1    1    0    5    3    1   
## [393] 0    0    2    1    1    1    1    0    2    1    1    0    2    4   
## [407] 2    2    2    3    3    4    3    0    0    0    1    0    0    4   
## [421] 0    1    0    0    0    4    0    1    0    2    3    0    0    3   
## [435] 1    2    2    4    0    2    0    5    8    0    2    1    1    3   
## [449] 2    4    0    4    0    0    5    1    3    1    1    3    3    1   
## [463] 4    4    1    1    9    0    1    1    1    1    3    1    2    5   
## [477] 0    2    4    4    0    0    3    10   3    2    2    0    0    2   
## [491] 5    2    0    1    0    1    2    4    0    1    2    13   4    3   
## [505] 1    1    0    6    2    0    1    4    3    0    1    2    0    0   
## [519] 2    3    1    0    3    1    1    5    1    1    1    0    4    3   
## [533] 2    0    4    2    1    1    2    1    0    3    1    1    2    3   
## [547] 1    3    3    5    0    0    0    0    3    4    0    0    1    5   
## [561] 0    0    1    1    3    0    1    1    1    0    4    1    1    0   
## [575] 2    4    1    2    1    5    1    1    4    1    1    1    2    0   
## [589] 2    0    4    5    0    0    1    0    2    4    1    4    2    0   
## [603] 1    0    0    1    0    2    1    1    2    0    1    0    2    1   
## [617] 1    0    1    1    1    0    1    1    1    0    0    0    3    1   
## [631] 0    0    1    0    1    4    1    1    2    1    2    4    1    2   
## [645] 6    1    1    2    1    3    1    0    1    1    2    0    1    0   
## [659] 0    2    0    1    0    0    1    0    0    3    3    1    6    <NA>
## [673] 2    1    3    1    1    0    <NA> 2    1    1    1    3    1    2   
## [687] 3    4    1    2    <NA> 2    2    0    4    0    0    3    1    3   
## [701] 3    0    2    1    1    4    0    3    4    1    1    0    1    2   
## [715] 1    2    4    3    2    1    4    2    4    1    <NA> 0    7    2   
## [729] 1    1    3    4    3    2    3    2    1    0    2    3    3    4   
## [743] 3    0    6    6    3    5    4    4    <NA> 1    3    2    4    3   
## [757] 2    3    0    0    8    0    3    0    0    0    5    5    5    1   
## [771] 2    5    1    1    5    4    3    0    0    3    0    0    0    2   
## [785] 2    3    3    7    2    3    0    1    5    2    1    1    3    0   
## [799] 2   
## Levels: 0 1 2 3 4 5 6 7 8 9 10 11 13
## 
##   0   1   2   3   4   5   6   7   8   9  10  11  13 
## 214 220 125 101  55  31   7   7   7   2   2   1   1
##  [1] "0"  "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9"  "10" "11" "13"
## [1] 13
## [1] "5"  "6"  "7"  "8"  "9"  "10" "11" "13"
## 
##   0   1   2   3   4  5+ 
## 214 220 125 101  55  58

Lab2:Indexation critériée d’observations, sélection de variables, graphiques univariés

Mécanisme de base de l’indexation

##  [1] "age"          "prof"         "duree"        "discip"      
##  [5] "n.enfant"     "n.fratrie"    "ecole"        "separation"  
##  [9] "juge.enfant"  "place"        "abus"         "grav.cons"   
## [13] "dep.cons"     "ago.cons"     "ptsd.cons"    "alc.cons"    
## [17] "subst.cons"   "scz.cons"     "char"         "rs"          
## [21] "ed"           "dr"           "suicide.s"    "suicide.hr"  
## [25] "suicide.past" "dur.interv"   "n.enfant.cat"
## [1] 31
## [1] 31
## [1] 31
## [1] autre
## 8 Levels: agriculteur artisan autre cadre employe ... sans emploi
## [1] autre              <NA>               prof.intermediaire
## [4] ouvrier            sans emploi        ouvrier           
## 8 Levels: agriculteur artisan autre cadre employe ... sans emploi
## [1] FALSE    NA FALSE FALSE FALSE FALSE
## 
## FALSE  TRUE 
##   787     6
## [1]  15 312 384 391 439 442
## [1] 64 42 37 36 35 79

Filtres avec la commande subset

Cette commande permet de filtrer les observations du dataframe directement avec une expression. 3 parametres donc:

  1. le dataframe
  2. le filtre à appliquer sur les lignes du dataframe
  3. la variable que l’on souhaite afficher
##     age
## 15   64
## 312  42
## 384  37
## 391  36
## 439  35
## 442  79
##     age        prof duree discip n.enfant
## 15   64 agriculteur    NA      0        3
## 312  42 agriculteur     4      0        3
## 384  37 agriculteur     5      1        2
## 391  36 agriculteur     4      1        3
## 439  35 agriculteur     3      0        0
## 442  79 agriculteur     5      0        5
## [1] "age"      "prof"     "duree"    "discip"   "n.enfant"
##     age duree discip n.enfant
## 15   64    NA      0        3
## 312  42     4      0        3
## 384  37     5      1        2
## 391  36     4      1        3
## 439  35     3      0        0
## 442  79     5      0        5
##     age duree discip n.enfant
## 15   64    NA      0        3
## 312  42     4      0        3
## 391  36     4      1        3
## 442  79     5      0        5

Filtre encore plus complexe: On filtre les valeurs manquantes pour la variable duree

##     age        prof duree discip n.enfant n.fratrie ecole separation
## 15   64 agriculteur    NA      0        3         2     1          0
## 312  42 agriculteur     4      0        3         6     1          0
## 391  36 agriculteur     4      1        3         4     3          1
## 442  79 agriculteur     5      0        5         6     2          0
##     juge.enfant place abus grav.cons dep.cons ago.cons ptsd.cons alc.cons
## 15            0     0    0         1        0        0         0        0
## 312           0     0    0         4        1        1         0        1
## 391           1     1    0         2        0        0         1        0
## 442           0     0    0        NA        0        0         0        0
##     subst.cons scz.cons char rs ed dr suicide.s suicide.hr suicide.past
## 15           0        0    1  1  1  3         0          0            0
## 312          0        0    2  1  3  2         3          1            0
## 391          1        0    1 NA  3  1         0          0            0
## 442          0        0    1  2  1  1         0          0            0
##     dur.interv n.enfant.cat
## 15          80            3
## 312         NA            3
## 391         NA            3
## 442         85           5+

Filtre avec table et prop.table

Création d’un tableau d’effectif à partir de la commande table

## [1] 773
## 
##         0         1         2         3         4        5+ 
## 27.684347 28.460543 16.170763 13.065977  7.115136  7.503234
## 
##         0         1         2         3         4        5+ 
## 27.684347 28.460543 16.170763 13.065977  7.115136  7.503234
## 
##     0     1     2     3     4    5+ 
## 0.277 0.285 0.162 0.131 0.071 0.075

Représentation graphique des fréquences relatives (graphiques univariés)

Quiz Exercice1

Nous souhaitons afficher la valeur minimale observée dans une série de 10 observations incluant 2 valeurs manquantes. La variable est appelée x. L’instruction min(x) fournit-elle le résultat escompté ? NON

##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    1.00    3.25    5.50    5.50    7.75   10.00       2
## [1] NA
## [1] 1

Nous souhaitons associer les étiquettes « Non » et « Oui » aux valeurs 0 et 1, respectivement, d’une variable appelée z. Quelle commande pouvons-nous utiliser ? factor

## [1] OUI NON OUI OUI OUI NON NON OUI NON
## Levels: OUI NON
## z
## 0 1 
## 5 4

Pour une variable qualitative z présentant des valeurs manquantes, la commande sum(table(z)) fournit : L’effectif total observé (sans les individus ayant des données manquantes)

## z
##     bleu cramoisi    jaune    rouge    taupe     vert     <NA> 
##        1        1        1        1        1        1        1
## [1] 6

Ouvrez le fichier smp1.csv dans un éditeur de texte (type bloc-note, Word…) et cochez la proposition correspondant à la première ligne (avec ou sans sans guillemets autour des noms de variables) : age;prof;dep.cons;scz.cons;grav.cons;n.enfant;rs;ed;dr

Donnez la borne supérieure de l’intervalle interquartile pour la variable dur.interv en considérant l’ensemble des individus. 75

## Length  Class   Mode 
##      0   NULL   NULL

Nous souhaitons recoder la taille de la fratrie (n.fratrie) en variable binaire : « moins de 5 enfants » (‘<5’) et « 5 enfants ou plus » (‘5+’). Quelle commande peut-on utiliser ? (Dans les expressions suivantes, le point-virgule sert à délimiter deux instructions). la commande : factor(smp$n.fratrie>=5, labels=c(‘<5’,‘5+’))

## < table of extent 0 >

Donnez le nombre de lignes du tableau de données pour lesquelles la variable ecole vaut 1, 2 ou 3: 731

##  NULL
## < table of extent 0 >
## < table of extent 0 >

Donnez le nombre d’individus sans emploi 222 détenus sans emploit et 6 détenus avec données manquantes

## 
##        agriculteur            artisan              autre 
##                  0                  0                  0 
##              cadre            employe            ouvrier 
##                  0                  0                  0 
## prof.intermediaire        sans emploi               <NA> 
##                  0                222                  6

Quiz Exercice1 Facultatif

Pour afficher les 10 premières observations d’une variable suivi, nous utilisons la commande suivante : suivi[1:10]

##  [1]  1 34 22 33 21 67 37 45 34 89  4  2
##  [1]  1 34 22 33 21 67 37 45 34 89

Quelle commande permet d’obtenir le nombre total d’individus sans données manquantes ? sum(complete.cases(smp) = 403

## [1] 653

Quel est l’âge moyen des dix premiers individus du tableau de données? 39.7

## [1] 39.7

Quelle est la valeur médiane pour la durée d’intervention (dur.interv) en ne considérant que les 300 premières observations du data frame smp ? 50

## Warning in is.na(x): is.na() applied to non-(list or vector) of type 'NULL'
## NULL

Devoir évalué par les pairs 1/3 (échéance le 17 oct 2018)

voir https://bookdown.org/connect/#/apps/1984/access/345

Semaine2: Intervalles de confiance, association entre variables

Chapitre5:Intervalles de confiance

Un intervalle de confiance permet d’estimer la borne min et la borne max de la prévalence d’une modalité sur une population à partir d’un échantillon et selon un niveau de probabilité donné. Par exemple: il y a 95% de chances que la proportion de “déprimés” dans le milieu carcéral soit comprise entre 8% et 64%. Cette estimation étant faite à partir d’un échantillon de 10 détenus tirés au sort la formule de calcul de l’intervalle de confiance 95% est:\([M - 1.96 * ET ; M + 1.96 * ET]\) M est la modalité à estimer ET est l’écart type de m pour l’échantillon.

## Description of structure(list(x = c(31L, 49L, 50L, 47L, 23L, 34L, 24L, 52L,  42L, 45L, 31L, NA, 21L, 40L, 64L, 67L, 60L, 63L, NA, 28L, 20L,  30L, 32L, 31L, 26L, 42L, 32L, 40L, 41L, 27L, 24L, 38L, 39L, 36L,  29L, 41L, 36L, 41L, 21L, 21L, 46L, 22L, 21L, 35L, 45L, 38L, 19L,  21L, 27L, 40L, 39L, 47L, 24L, 36L, 39L, 22L, 38L, 37L, 29L, 23L,  36L, 42L, 56L, 28L, 36L, 38L, 43L, 29L, 64L, 25L, 51L, 35L, 30L,  37L, 26L, 36L, 58L, 32L, 30L, 26L, 27L, 23L, 24L, 39L, 43L, 39L,  26L, 44L, 37L, 40L, 24L, 46L, 26L, 38L, 37L, 30L, 39L, 36L, 39L,  28L, 27L, 51L, 48L, 47L, 41L, 35L, 25L, 31L, 44L, 40L, 29L, 34L,  49L, 57L, 33L, 35L, 32L, 34L, 46L, 45L, 31L, 42L, 48L, 34L, 34L,  64L, 50L, 53L, 49L, 53L, 37L, 42L, 55L, 32L, 33L, 40L, 29L, 32L,  23L, 61L, 39L, 30L, 37L, 30L, 39L, 49L, 44L, 40L, 56L, 43L, 27L,  21L, 44L, 50L, 50L, 20L, 37L, 42L, 27L, 22L, 25L, 20L, 21L, 19L,  25L, 24L, 49L, 24L, 26L, 35L, 22L, 24L, 23L, 46L, 26L, 41L, 51L,  20L, 30L, 37L, 49L, 28L, 28L, 51L, 40L, 33L, 25L, 29L, 40L, 43L,  35L, 50L, 44L, 35L, 24L, 43L, 26L, 45L, 42L, 45L, 48L, 45L, 34L,  31L, 40L, 22L, 42L, 38L, 38L, 40L, 46L, 26L, 29L, 25L, 40L, 43L,  28L, 29L, 32L, 28L, 57L, 31L, 71L, 33L, 24L, 22L, 25L, 26L, 52L,  33L, 38L, 39L, 41L, 52L, 33L, 39L, 59L, 33L, 50L, 58L, 23L, 41L,  43L, 42L, 22L, 57L, 41L, 30L, 66L, 49L, 46L, 28L, 59L, 35L, 44L,  83L, 34L, 49L, 60L, 56L, 46L, 62L, 41L, 27L, 53L, 48L, 66L, 66L,  55L, 61L, 43L, 54L, 38L, 51L, 51L, 50L, 56L, 53L, 49L, 41L, 44L,  64L, 42L, 52L, 72L, 43L, 30L, 32L, 43L, 25L, 27L, 25L, 52L, 39L,  42L, 59L, 46L, 62L, 50L, 24L, 43L, 32L, 67L, 28L, 44L, 19L, 20L,  23L, 26L, 28L, 31L, 42L, 57L, 30L, 36L, 53L, 33L, 25L, 22L, 42L,  25L, 32L, 23L, 45L, 48L, 35L, 37L, 38L, 24L, 47L, 61L, 38L, 27L,  27L, 26L, 30L, 47L, 37L, 30L, 41L, 29L, 37L, 28L, 47L, 26L, 50L,  23L, 60L, 37L, 48L, 41L, 28L, 54L, 61L, 33L, 31L, 25L, 66L, 26L,  29L, 29L, 53L, 24L, 48L, 40L, 47L, 40L, 41L, 54L, 25L, 36L, 44L,  32L, 27L, 31L, 34L, 34L, 71L, 20L, 54L, 39L, 50L, 36L, 37L, 43L,  28L, 21L, 35L, 36L, 53L, 36L, 38L, 66L, 62L, 38L, 24L, 49L, 21L,  34L, 29L, 36L, 29L, 33L, 34L, 57L, 65L, 25L, 36L, 31L, 54L, 49L,  42L, 30L, 20L, 23L, 21L, 23L, 39L, 45L, 29L, 21L, 54L, 77L, 23L,  32L, 58L, 49L, 26L, 40L, 51L, 62L, 45L, 41L, 30L, 52L, 20L, 36L,  34L, 35L, 30L, 46L, 79L, 66L, 19L, 41L, 51L, 26L, 56L, 33L, 39L,  72L, 45L, 59L, 21L, 41L, 43L, 55L, 26L, 49L, 29L, 26L, 28L, 77L,  61L, 63L, 30L, 49L, 48L, 45L, 32L, 56L, 48L, 64L, 73L, 33L, 74L,  54L, 27L, 49L, 45L, 27L, 53L, 62L, 54L, 37L, 56L, 60L, 33L, 34L,  32L, 44L, 49L, 46L, 67L, 39L, 59L, 63L, 81L, 38L, 58L, 42L, 73L,  48L, 41L, 28L, 44L, 45L, 46L, 50L, 27L, 56L, 46L, 42L, 25L, 23L,  26L, 19L, 24L, 24L, 32L, 23L, 24L, 33L, 21L, 33L, 41L, 24L, 31L,  19L, 25L, 51L, 39L, 22L, 20L, 30L, 34L, 28L, 20L, 20L, 33L, 24L,  32L, 37L, 25L, 24L, 29L, 19L, 37L, 56L, 49L, 60L, 29L, 22L, 20L,  49L, 33L, 30L, 29L, 25L, 62L, 41L, 33L, 44L, 60L, 24L, 24L, 33L,  27L, 45L, 33L, 44L, 23L, 23L, 35L, 36L, 28L, 24L, 27L, 27L, 28L,  27L, 40L, 52L, 19L, 31L, 21L, 33L, 23L, 30L, 23L, 31L, 48L, 24L,  24L, 26L, 32L, 29L, 38L, 23L, 50L, 26L, 47L, 38L, 24L, 24L, 19L,  25L, 31L, 33L, 26L, 38L, 23L, 37L, 19L, 49L, 33L, 30L, 38L, 30L,  26L, 27L, 21L, 31L, 19L, 26L, 28L, 49L, 35L, 25L, 32L, 27L, 20L,  30L, 25L, 21L, 54L, 27L, 22L, 39L, 21L, 54L, 49L, 23L, 36L, 59L,  50L, 24L, 47L, 42L, 41L, 33L, 46L, 23L, 19L, 39L, 38L, 40L, 39L,  40L, 44L, 26L, 48L, 47L, 23L, 25L, 20L, 45L, 44L, 57L, 39L, 55L,  19L, 34L, 28L, 33L, 19L, 33L, 27L, 46L, 47L, 22L, 27L, 26L, 52L,  56L, 44L, 63L, 34L, 41L, 38L, 37L, 58L, 37L, 24L, 60L, 26L, 21L,  52L, 20L, 37L, 32L, 32L, 58L, 49L, 32L, 37L, 46L, 50L, 44L, 47L,  37L, 38L, 50L, 56L, 30L, 34L, 43L, 55L, 43L, 31L, 55L, 41L, 68L,  45L, 48L, 42L, 71L, 38L, 46L, 65L, 51L, 57L, 57L, 71L, 40L, 43L,  71L, 48L, 34L, 69L, 43L, 35L, 62L, 34L, 51L, 48L, 36L, 44L, 49L,  74L, 19L, 56L, 57L, 65L, 52L, 77L, 29L, 37L, 45L, 40L, 72L, 27L,  56L, 35L, 30L, 37L, 30L, 40L, 54L, 26L, 48L, 83L, 32L, 22L, 48L,  67L, 58L, 37L, 24L, 34L, 39L, 38L, 39L, 56L, 35L, 26L, 70L, 68L,  42L, 41L, 40L, 26L, 50L, 27L, 28L, 44L, 31L, 38L, 71L)), .Names = "x", row.names = c(NA,  -799L), class = "data.frame")
## 
##  Numeric 
##   mean median    var    sd valid.n
## x 38.9     37 176.38 13.28     797

la moyenne (mean)de l’age est: 38.9 ans

l’écart type (sd) de l’age des détenus est: 13.28

l’écart type de la moyenne de l’age est: \(13.28/\sqrt{797}\)

l’intervalle de confiance 95% de l’age des détenus est donc [37.98 : 39.82]


## [1] 37.97801
## [1] 39.82199

L’intervalle de confiance d’un pourcentage peut être estimé à partir de méthodes qui convergent lorsque la taille de l’échantillon est importante. pour 3 individus présentant une modalité commune (par exemple dépression) parmi un échantillon de 10 personnes tirées au sort. Quel est l’intervalle de confiance de la prévalence de la dépression: 30% ?

##           method x  n      mean      lower     upper
## 1  agresti-coull 3 10 0.3000000 0.10333842 0.6076747
## 2     asymptotic 3 10 0.3000000 0.01597423 0.5840258
## 3          bayes 3 10 0.3181818 0.07454423 0.5794516
## 4        cloglog 3 10 0.3000000 0.07113449 0.5778673
## 5          exact 3 10 0.3000000 0.06673951 0.6524529
## 6          logit 3 10 0.3000000 0.09976832 0.6236819
## 7         probit 3 10 0.3000000 0.08991347 0.6150429
## 8        profile 3 10 0.3000000 0.08470272 0.6065091
## 9            lrt 3 10 0.3000000 0.08458545 0.6065389
## 10     prop.test 3 10 0.3000000 0.08094782 0.6463293
## 11        wilson 3 10 0.3000000 0.10779127 0.6032219
##      method x  n mean      lower     upper
## 1 prop.test 3 10  0.3 0.08094782 0.6463293
##   method x  n mean      lower     upper
## 1  exact 3 10  0.3 0.06673951 0.6524529
##           method   x    n      mean     lower     upper
## 1  agresti-coull 300 1000 0.3000000 0.2723966 0.3291341
## 2     asymptotic 300 1000 0.3000000 0.2715974 0.3284026
## 3          bayes 300 1000 0.3001998 0.2719448 0.3286787
## 4        cloglog 300 1000 0.3000000 0.2718595 0.3285966
## 5          exact 300 1000 0.3000000 0.2717211 0.3294617
## 6          logit 300 1000 0.3000000 0.2723865 0.3291466
## 7         probit 300 1000 0.3000000 0.2722277 0.3289871
## 8        profile 300 1000 0.3000000 0.2721340 0.3288893
## 9            lrt 300 1000 0.3000000 0.2721419 0.3289000
## 10     prop.test 300 1000 0.3000000 0.2719222 0.3296354
## 11        wilson 300 1000 0.3000000 0.2724068 0.3291239

Quiz mémoire5

Qu’est-ce qu’un intervalle de confiance ? L’intervalle de confiance à 95% est un intervalle de valeurs qui a 95% de chance de contenir la vraie valeur du paramètre estimé

Quelles conditions doit remplir l’estimateur d’un paramètre pour que nous puissions calculer l’intervalle de confiance à partir de la moyenne et de l’écart type ? l’estimateur du paramètre doit suivre une distribution normale

Si une étude retrouve 6% de troubles schizophréniques dans un échantillon de détenus français, quel est le pourcentage exact de ces troubles dans la population globale de détenus français ? Impossible à savoir

L’étendue de l’intervalle de confiance augmente : Si le nombre de sujets de l’échantillon diminue

Comment l’échantillonnage doit-il être réalisé pour que le calcul de l’intervalle de confiance ait un sens ? L’échantillonnage doit être réalisé de manière aléatoire

Chapitre6:Coefficient de corrélation

L’objectif est de pouvoir estimer la force de corrélation entre 2 variables. Cette force peut être estimée par le coefficient de corrélation de Pearson: r * Si r = 0 la corrélation est nulle: les variables sous jacentes sont indépendantes (ssi elle suivent une loi normale) * Si r = +/- 1 x et y sont mutuellement déterminées: \(y=ax+b\)

L’interprétation de ce coeff n’est pas facile. Le plus simple est de représenter graphiquement les 2 variables X et y afin de visualiser leur corrélation

## 'data.frame':    799 obs. of  26 variables:
##  $ age         : int  31 49 50 47 23 34 24 52 42 45 ...
##  $ prof        : Factor w/ 8 levels "agriculteur",..: 3 NA 7 6 8 6 3 2 6 6 ...
##  $ duree       : int  4 NA 5 NA 4 NA NA 5 4 NA ...
##  $ discip      : int  0 0 0 0 1 0 0 0 1 0 ...
##  $ n.enfant    : int  2 7 2 0 1 3 5 2 1 2 ...
##  $ n.fratrie   : int  4 3 2 6 6 2 3 9 12 5 ...
##  $ ecole       : int  1 2 2 1 1 2 1 2 1 2 ...
##  $ separation  : int  0 1 0 1 1 0 1 0 1 0 ...
##  $ juge.enfant : int  0 0 0 0 NA 0 1 0 1 0 ...
##  $ place       : int  0 0 0 1 1 0 1 0 0 0 ...
##  $ abus        : int  0 0 0 0 0 0 0 0 1 1 ...
##  $ grav.cons   : int  1 2 2 1 2 1 5 1 5 5 ...
##  $ dep.cons    : int  0 0 0 0 1 0 1 0 1 0 ...
##  $ ago.cons    : int  1 0 0 0 0 0 0 0 0 0 ...
##  $ ptsd.cons   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ alc.cons    : int  0 0 0 0 0 0 0 0 1 1 ...
##  $ subst.cons  : int  0 0 0 0 0 0 1 0 1 0 ...
##  $ scz.cons    : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ char        : int  1 1 1 1 1 1 1 1 4 1 ...
##  $ rs          : int  2 2 2 2 2 1 3 2 3 2 ...
##  $ ed          : int  1 2 3 2 2 2 3 2 3 2 ...
##  $ dr          : int  1 1 2 2 2 1 2 2 1 2 ...
##  $ suicide.s   : int  0 0 0 1 0 0 3 0 4 0 ...
##  $ suicide.hr  : int  0 0 0 0 0 0 1 0 1 0 ...
##  $ suicide.past: int  0 0 0 0 1 0 1 0 1 0 ...
##  $ dur.interv  : int  NA 70 NA 105 NA NA 105 84 78 60 ...
## [1] 0.4326039

Quiz mémoire6

Une corrélation très forte entre deux variables signifie que : Il est possible que les deux variables soient liées par une relation de causalité

Le coefficient de corrélation entre 2 variables qui suivent une loi normale est r=0, signifie que : Les 2 variables sont indépendantes

Le coefficient de corrélation entre 2 variables est r=0.4, signifie que : Le pourcentage de variance partagé entre ces 2 variables est de 16%

La relation entre les 2 variables X et Y est plus forte dans : Le nuage des points B car on voit visuellement que le nuage se répartit autour d’une droite

Quelle option devons-nous ajouter dans la commande “cor” en cas de données manquantes dans R ? complete.obs

## [1] NA
## [1] 0.4326039

Chapitre7:Risque relatif et odds-ratio

Définition du RR et de l’OD

soit les données d’enquêtes suivantes: ||Enrhumés| |:-:|:-:|:-:| ||Oui|Non| |Tabac: Oui|30|600| |Tabac: Non|30|300|

La question est d’évaluer la prévalence du rhume selon que l’on est fumeur ou pas

## [1] 1.909091
## [1] 2

Pour RR, on peut dire que les fumeurs on 1,9 plus de chance d’être enrhumés que les non fumeurs.

Pour ODDSRATIO, c’est à peu près la même chose surtout si l’échantillon est important

  • Si la modalité observée est peu fréquente, alors RR = OD
  • Si l’échantillon est faible, alors une étude cas-témoin (50% d’individu avec la modalité et 50% sans la modalité) est possible et c’est OD qui est utilisé car RR n’a plus de sens

Corrélation

La corrélation entre le niveau d’évitement du danger et la dépression dans la population Il faut tout d’abord transformer le niveau d’évitement du danger en variable binaire

## 'data.frame':    799 obs. of  27 variables:
##  $ age         : int  31 49 50 47 23 34 24 52 42 45 ...
##  $ prof        : Factor w/ 8 levels "agriculteur",..: 3 NA 7 6 8 6 3 2 6 6 ...
##  $ duree       : int  4 NA 5 NA 4 NA NA 5 4 NA ...
##  $ discip      : int  0 0 0 0 1 0 0 0 1 0 ...
##  $ n.enfant    : int  2 7 2 0 1 3 5 2 1 2 ...
##  $ n.fratrie   : int  4 3 2 6 6 2 3 9 12 5 ...
##  $ ecole       : int  1 2 2 1 1 2 1 2 1 2 ...
##  $ separation  : int  0 1 0 1 1 0 1 0 1 0 ...
##  $ juge.enfant : int  0 0 0 0 NA 0 1 0 1 0 ...
##  $ place       : int  0 0 0 1 1 0 1 0 0 0 ...
##  $ abus        : int  0 0 0 0 0 0 0 0 1 1 ...
##  $ grav.cons   : int  1 2 2 1 2 1 5 1 5 5 ...
##  $ dep.cons    : int  0 0 0 0 1 0 1 0 1 0 ...
##  $ ago.cons    : int  1 0 0 0 0 0 0 0 0 0 ...
##  $ ptsd.cons   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ alc.cons    : int  0 0 0 0 0 0 0 0 1 1 ...
##  $ subst.cons  : int  0 0 0 0 0 0 1 0 1 0 ...
##  $ scz.cons    : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ char        : int  1 1 1 1 1 1 1 1 4 1 ...
##  $ rs          : int  2 2 2 2 2 1 3 2 3 2 ...
##  $ ed          : int  1 2 3 2 2 2 3 2 3 2 ...
##  $ dr          : int  1 1 2 2 2 1 2 2 1 2 ...
##  $ suicide.s   : int  0 0 0 1 0 0 3 0 4 0 ...
##  $ suicide.hr  : int  0 0 0 0 0 0 1 0 1 0 ...
##  $ suicide.past: int  0 0 0 0 1 0 1 0 1 0 ...
##  $ dur.interv  : int  NA 70 NA 105 NA NA 105 84 78 60 ...
##  $ ed.bin      : num  0 0 1 0 0 0 1 0 1 0 ...
##           smp$ed
## smp$ed.bin   1   2   3 <NA>
##       0    315 155   0    0
##       1      0   0 222    0
##       <NA>   0   0   0  107

On peux ensuite chercher à calculer la corrélation entre smp\(ed.bin et smp\)dep.cons

La fonction twoby2 permet de calculer la corrélation:

## 2 by 2 table analysis: 
## ------------------------------------------------------ 
## Outcome   : 0 
## Comparing : 0 vs. 1 
## 
##     0   1    P(0) 95% conf. interval
## 0 126  96  0.5676    0.5016   0.6312
## 1 135 335  0.2872    0.2481   0.3298
## 
##                                    95% conf. interval
##              Relative Risk: 1.9760    1.6456   2.3726
##          Sample Odds Ratio: 3.2569    2.3361   4.5408
## Conditional MLE Odds Ratio: 3.2508    2.3037   4.6035
##     Probability difference: 0.2803    0.2020   0.3549
## 
##              Exact P-value: 0 
##         Asymptotic P-value: 0 
## ------------------------------------------------------

Quiz mémoire7

L’Odds ratio (OR) vaut : ( a/b) /(c/d)

Dans quel cas ne pouvons nous pas calculer le Risque Relatif (RR) ? Étude cas-témoins: le principe de ce tye d’étude est d’utiliser une taille d’échantillon faible (moins cher…)

Si la prévalence de la maladie est rare, l’OR est-il équivalent au RR ? OUI

Quelle est la fonction R qui permet le calcul des RR et OR ? twoby2

## 2 by 2 table analysis: 
## ------------------------------------------------------ 
## Outcome   : 0 
## Comparing : 0 vs. 1 
## 
##     0   1    P(0) 95% conf. interval
## 0  63  90  0.4118    0.3366   0.4913
## 1 147 453  0.2450    0.2122   0.2810
## 
##                                    95% conf. interval
##              Relative Risk: 1.6807    1.3276   2.1276
##          Sample Odds Ratio: 2.1571    1.4873   3.1287
## Conditional MLE Odds Ratio: 2.1547    1.4577   3.1764
##     Probability difference: 0.1668    0.0837   0.2525
## 
##              Exact P-value: 1e-04 
##         Asymptotic P-value: 1e-04 
## ------------------------------------------------------

Lab3:Langage R Markdown

Ce lab présente R Markdown. Toutes les notes de cours sont déjà en R Markdown.

Quiz Exercice 2

Quel est le nombre moyen d’enfants (variable n.enfant) chez les individus diagnostiqués comme dépressifs (dep.cons = 1) (2 chiffres après la virgule) ?

## Description of subset(smp, smp$dep.cons == 1, select = n.enfant)
## 
##  Numeric 
##          mean median  var   sd valid.n
## n.enfant 1.76      1 2.81 1.68     310

Autre solution

## [1] 1.764516

Donner la borne supérieure de l’intervalle interquartile pour la variable duree chez les individus dont l’âge est strictement inférieur à 35 ans (2 chiffres après la virgule). Borne supérieure :

##      duree      
##  Min.   :1.000  
##  1st Qu.:3.250  
##  Median :4.000  
##  Mean   :4.005  
##  3rd Qu.:5.000  
##  Max.   :5.000  
##  NA's   :129

À partir du data frame smp, nous souhaitons recoder l’âge (variable age) en variable catégorielle en considérant 4 intervalles de classe dont les bornes intermédiaires sont définies à partir des 1er, 2ème et 3ème quartiles. Les bornes inférieures et supérieures de la première et dernière classe seront naturellement les valeurs minimale et maximale observées pour la variable age. À l’exception de la première classe dont les deux bornes d’intervalle seront fermées (c’est-à-dire que les bornes seront inclues dans l’intervalle), les bornes inférieures des classes suivantes (2 à 4) seront ouvertes, et les bornes supérieures fermées. Indiquer l’effectif associé à la 3ème classe ainsi constituée.

on cherche tout d’abord à connaître les valeurs min, max de chaque quartile pour la variable age. Les 4 intervalles de classe sont:

  • [Min : Q1]
  • ]Q1 : Median]
  • ]Median : Q3]
  • ]Q3 : Max]
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    19.0    28.0    37.0    38.9    48.0    83.0       2

Pou répondre à la question, on peux:

  • construire un subset en filtrant
  • effectuer un filtre directement sur smp
  • recoder une nouvelle variable catégorielle tel que suggéré par l’énoncé puis appliquer un describe sur cette variable
## Description of structure(list(x = c(47L, 42L, 45L, NA, 40L, NA, 42L, 40L, 41L,  38L, 39L, 41L, 41L, 46L, 45L, 38L, 40L, 39L, 47L, 39L, 38L, 42L,  38L, 43L, 39L, 43L, 39L, 44L, 40L, 46L, 38L, 39L, 39L, 48L, 47L,  41L, 44L, 40L, 46L, 45L, 42L, 48L, 42L, 40L, 39L, 39L, 44L, 40L,  43L, 44L, 42L, 46L, 41L, 40L, 40L, 43L, 44L, 43L, 45L, 42L, 45L,  48L, 45L, 40L, 42L, 38L, 38L, 40L, 46L, 40L, 43L, 38L, 39L, 41L,  39L, 41L, 43L, 42L, 41L, 46L, 44L, 46L, 41L, 48L, 43L, 38L, 41L,  44L, 42L, 43L, 43L, 39L, 42L, 46L, 43L, 44L, 42L, 42L, 45L, 48L,  38L, 47L, 38L, 47L, 41L, 47L, 48L, 41L, 48L, 40L, 47L, 40L, 41L,  44L, 39L, 43L, 38L, 38L, 42L, 39L, 45L, 40L, 45L, 41L, 46L, 41L,  39L, 45L, 41L, 43L, 48L, 45L, 48L, 45L, 44L, 46L, 39L, 38L, 42L,  48L, 41L, 44L, 45L, 46L, 46L, 42L, 41L, 39L, 41L, 44L, 45L, 44L,  40L, 48L, 38L, 47L, 38L, 38L, 38L, 39L, 47L, 42L, 41L, 46L, 39L,  38L, 40L, 39L, 40L, 44L, 48L, 47L, 45L, 44L, 39L, 46L, 47L, 44L,  41L, 38L, 46L, 44L, 47L, 38L, 43L, 43L, 41L, 45L, 48L, 42L, 38L,  46L, 40L, 43L, 48L, 43L, 48L, 44L, 45L, 40L, 40L, 48L, 48L, 39L,  38L, 39L, 42L, 41L, 40L, 44L, 38L)), .Names = "x", row.names = c(NA,  -211L), class = "data.frame")
## 
##  Numeric 
##    mean median  var   sd valid.n
## x 42.48     42 9.94 3.15     209

La réponse est 209

Quiz exercice 2bis (facultatif)

na.fail part en échec si il recoit des informations contenant NA

##     age        prof duree discip n.enfant n.fratrie ecole separation
## 20   28     ouvrier     5      0        1         1     2          0
## 221  57 sans emploi     5      0        2         2     2          0
## 342  37 sans emploi     4      0        1         2     1          1
## 446  51     ouvrier     3      0        1         3     3          0
## 531  51     artisan     5      0        4         5     1          0
##     juge.enfant place abus grav.cons dep.cons ago.cons ptsd.cons alc.cons
## 20            0     0    0         2        0        0         0        0
## 221           0     0    1         5        1        0         0        0
## 342           0     0    0         1        0        0         0        0
## 446           0     0    0         2        0        0         0        0
## 531           0     0    1         6        1        0         0        0
##     subst.cons scz.cons char rs ed dr suicide.s suicide.hr suicide.past
## 20           1        0    1  2  2  2         0          0            1
## 221          0        0    2  1  3  3         4          1            1
## 342          0        0    1  1  2  2         0          0            0
## 446          0        0    1  2  2  2         0          0            0
## 531          0        1    2  3  3  3         3          1            0
##     dur.interv ed.bin
## 20          95      0
## 221         50      1
## 342         30      0
## 446         85      0
## 531         68      1

La réponse est NON

Pour obtenir un résumé

## Number of cases in table: 242 
## Number of factors: 1

Semaine3:Tests statistiques, pratique des tests statistiques

Chapitre8:Tests statistiques le p (petit p) - Test de fisher

Rappel sur le chargement d’un fichier de donnée

Quiz mémoire8

Nous testons statistiquement la différence de pourcentages des individus malades dans les groupes A et B, que représente p (p-value) ? La probabilité que le hasard puisse expliquer à lui seul une différence au moins aussi importante que celle qui a été observée. Si le p est supérieur à 0.05, alors cette probabilité est considérée comme importante et alors on considère que le hasard peux expliquer

Si la taille de l’échantillon diminue, le p (p-value) obtenu par le test de Fisher : Augmente: la taille ne sera pas suffisante pour estimer

Hors contexte spécifique, quelle doit être la valeur de p pour que le résultat soit significatif ? <5%

Vous êtes appelé comme expert dans une affaire de dopage, vous decouvrez que le test est positif avec un p égal à 0,101. Que dites vous ? Vous ne pouvez affirmer ni sa culpabilité, ni son innocence.

Chapitre9:Test de Neyman et Pearson (tests d’hypothèses)

Les tests d’hypothèses reposent sur la formulation de 2 hyothèses: * H0: c’est le status quo. Par exemple: 2 médicaments testés ont la même efficacité * H1: c’est le but de l’expérience (ce que la personne souhaite démontrer). Par exemple: les 2 médicaments ont une efficacité différente.

Il y a donc 1 choix entre 2 hypothèses et donc 2 risques d’erreur: accepter H0 alors que H1 est vrai ou l’inverse. Les 2 risques correspondants sont:

  1. \(\alpha\) = prob(“accepter H0 alors que H1 est vrai”") C’est le risque de 1er espèce
  2. \(\beta\) = prob(“accepter H1 alors que H0 est vrai”) C’est le risque de seconde espèce

L’objectif est de proposer une règle permettant de minimiser \(\alpha\) et \(\beta\). Il y a de nombreuses possiblités Neyman et Pearson proposent de minimiser \(\beta\) en fixant \(\alpha\) (par exemple 5%). L’idée est de dire que l’expérimentateur sera tenté d’accepter H1. Donc la proposition de minimiser \(\alpha\) permet de protéger la communauté des expérimentateurs trop enthousiastes sur leur H1. Cela permet. On minimise donc le risque \(\alpha\) cad minimiser le risque d’accepter H1 alors que l’hypothèse est fausse.

En pratique, à partir de H0 et H1, on fixe \(\alpha\) à 5%, \(\beta\) aura alors une valeur, on calcul alors le p-value.

  • si p< \(\alpha\), alors on accepte H1
  • sinon on accepte H0

Quiz mémoire9

Comment appelle-t-on l’hypothèse que nous voulons démontrer ? H1

Nous collectons des données sur l’efficacité d’un médicament, nous souhaitons savoir si ces données nous permettraient oui ou non d’affirmer à des cliniciens que le médicament est efficace. Quelle approche statistique utiliseriez-vous pour répondre à cette question ? le médicament est efficace est l’hypothèse H1 de l’approche Neyman et Pearson

Alpha, le risque de première espèce, est la probabilité d’accepter : H0 alors que H1 est vrai

Dans un test de Neyman et Pearson, le résultat est plus significatif si p : La valeur de p n’importe pas du moment qu’il est inférieur à 5%

Chapitre10:Comparaison de 2 pourcentages

La prévalence de la dépression (dep.cons) est-elle plus elevée chez les détenus qui ont un haut niveau d’évitement du danger (variable ed) que chez les détenus qui ont un bas niveau d’évitement du danger.

Création d’une variable binaire dans le dataframe smp

Description de la dataframe smp

## 'data.frame':    799 obs. of  27 variables:
##  $ age         : int  31 49 50 47 23 34 24 52 42 45 ...
##  $ prof        : Factor w/ 8 levels "agriculteur",..: 3 NA 7 6 8 6 3 2 6 6 ...
##  $ duree       : int  4 NA 5 NA 4 NA NA 5 4 NA ...
##  $ discip      : int  0 0 0 0 1 0 0 0 1 0 ...
##  $ n.enfant    : int  2 7 2 0 1 3 5 2 1 2 ...
##  $ n.fratrie   : int  4 3 2 6 6 2 3 9 12 5 ...
##  $ ecole       : int  1 2 2 1 1 2 1 2 1 2 ...
##  $ separation  : int  0 1 0 1 1 0 1 0 1 0 ...
##  $ juge.enfant : int  0 0 0 0 NA 0 1 0 1 0 ...
##  $ place       : int  0 0 0 1 1 0 1 0 0 0 ...
##  $ abus        : int  0 0 0 0 0 0 0 0 1 1 ...
##  $ grav.cons   : int  1 2 2 1 2 1 5 1 5 5 ...
##  $ dep.cons    : int  0 0 0 0 1 0 1 0 1 0 ...
##  $ ago.cons    : int  1 0 0 0 0 0 0 0 0 0 ...
##  $ ptsd.cons   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ alc.cons    : int  0 0 0 0 0 0 0 0 1 1 ...
##  $ subst.cons  : int  0 0 0 0 0 0 1 0 1 0 ...
##  $ scz.cons    : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ char        : int  1 1 1 1 1 1 1 1 4 1 ...
##  $ rs          : int  2 2 2 2 2 1 3 2 3 2 ...
##  $ ed          : int  1 2 3 2 2 2 3 2 3 2 ...
##  $ dr          : int  1 1 2 2 2 1 2 2 1 2 ...
##  $ suicide.s   : int  0 0 0 1 0 0 3 0 4 0 ...
##  $ suicide.hr  : int  0 0 0 0 0 0 1 0 1 0 ...
##  $ suicide.past: int  0 0 0 0 1 0 1 0 1 0 ...
##  $ dur.interv  : int  NA 70 NA 105 NA NA 105 84 78 60 ...
##  $ ed.bin      : num  0 0 1 0 0 0 1 0 1 0 ...

Création d’une table de travail pour croiser les variables ed.b (évitement du danger) et dep.cons (état dépressif)

##           smp$dep.cons
## smp$ed.bin   0   1 <NA>
##       0    335 135    0
##       1     96 126    0
##       <NA>  51  56    0

Stockage de la table dans une variable temporaire et calcul des pourcentages plutôt que des valeurs absolues

Pourcentage de dépression selon que les détenus qui ont ou pas un haut niveau d’évitement du danger: On constate que les détenus à faible niveau d’évitement du danger (ed.bin=0) sont 2 fois moins déprimés (28,7%) que ceux ayant 1 haut niveau d’évitement du danger (56,7%)

##           smp$dep.cons
## smp$ed.bin        0        1
##          0 71.27660 28.72340
##          1 43.24324 56.75676

Pourcentage des détenus ayant 1 haut niveau de ed selon qu’ils sont ou pas déprimés: On constate la même chose

##           smp$dep.cons
## smp$ed.bin        0        1
##          0 77.72622 51.72414
##          1 22.27378 48.27586

Pour s’assurer que cette proportion n’est pas due au hasard, on fait un test chi-2. On constate que le p est très faible.

## 
##  Pearson's Chi-squared test
## 
## data:  smp$ed.bin and smp$dep.cons
## X-squared = 50.442, df = 1, p-value = 1.228e-12

Conditions de validité du khi2

  • Que N (l’effectif) est plus grand que 12
  • Que les pourcentages ne sont très proches ni de 0, ni de 100

On peux également faire une test exact de Fisher: On constate que p est également très faible.

## 
##  Fisher's Exact Test for Count Data
## 
## data:  smp$ed.bin and smp$dep.cons
## p-value = 2.033e-12
## alternative hypothesis: true odds ratio is not equal to 1
## 95 percent confidence interval:
##  2.303664 4.603460
## sample estimates:
## odds ratio 
##   3.250819

Quiz mémoire10

Avant de réaliser un test du Khi² sur R, que faut-il vérifier ? Les conditions de validité du test khi2 sont effectuées par R automatiquement

Quelle est la différence entre un test de Fisher et un test du Khi² ? Le test de Fisher permet de comparer 2 proportions quand les conditions de validité du test du Khi² ne sont pas respectées (Au moins un effectif théorique est inférieur à 5)

Quelle commande R faut-il utiliser pour réaliser un test du Khi² à partir des 2 variables var1 et var2 ? chisq.test(var1,var2,correct = FALSE)

Le lien entre les variables var1 et var2 a été testé à partir d’un test du Khi². Le p est égal 0,02. Que cela signifie-il ? Les deux variables sont dépendantes l’une de l’autre

Chapitre11:Comparaison de 2 moyennes

Existe-t-il en moyenne, une différence significative d’age entre les détenus ayant un haut niveau d’évitement du danger et les autres ? Pour cela, on peux comparer la moyenne d’age des 2 groupes (haut niveau d’évitement et bas niveau d’évitement) Pour savoir si cette comparaison est pertinente, on effectue un test t de Student. Les conditions de validité de ce test sont : (au moins 30 sujets par groupe OU la variable suit une loi normale) ET (la variance de la variable est identique dans chaque groupe)

Comment se répartit l’age chez les détenus: Il y a une vague forme de loi normale

Pour mieux vérifier la normalité, on peux faire une diagramme de normalité

Pour vérifier l’égalité de la variance () ou l’écart type (sd), on utilise by

## smp$ed.bin: 0
## [1] 13.38593
## -------------------------------------------------------- 
## smp$ed.bin: 1
## [1] 13.29636

Après avoir vérifié les conditions de valité du test t, on effectue enfin ce test (on vérifie que les variances de chaque groupe sont proches avec l’option var.equal = TRUE)

## 
##  Two Sample t-test
## 
## data:  smp$age and smp$ed.bin
## t = 76.369, df = 1487, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  37.58791 39.56972
## sample estimates:
##  mean of x  mean of y 
## 38.8996236  0.3208092

SI on ne peux pas utiliser de test t (n< 30 ET la variable ne suit pas de loi normale), alors on peux vérifier avec 1 test de Wilcox ou de Man Witney

## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  smp$age by smp$ed.bin
## W = 56770, p-value = 0.06091
## alternative hypothesis: true location shift is not equal to 0

Quiz mémoire11

Dans quel cas utilisons-nous un test t de Student ?

Pouvons-nous réaliser un test t de Student pour comparer 2 variables ayant une distribution en forme de U ?

Pour vérifier si la distribution d’une variable quantitative est normale, qu’est-il conseillé de faire ?

Quelle commande R faut-il utiliser pour comparer les écarts-types d’une variable “taille” entre les hommes et les femmes (variable “sexe”) ?

Les moyennes d’une variable continue ont été comparées entre deux groupes. Le p obtenu avec un test t de Student est égal à 0,01. Que cela signifie-t-il ?

Dans quel cas utilisons-nous un test de Wilcoxon ?

Chapitre12:test de nullité d’un coef de corrélation

la distrib de x OU de y doit suivre une loi normale

## 
##  Pearson's product-moment correlation
## 
## data:  smp$age and smp$rs
## t = -6.02, df = 694, p-value = 2.825e-09
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.2922516 -0.1509579
## sample estimates:
##        cor 
## -0.2227744

Si ni x, ni y ne suivent une loi normale, alors on peux faire un test de nullité avec la méthode de spearman

## Warning in cor.test.default(smp$age, smp$rs, method = "spearman"): Cannot
## compute exact p-value with ties
## 
##  Spearman's rank correlation rho
## 
## data:  smp$age and smp$rs
## S = 68743000, p-value = 2.567e-09
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##        rho 
## -0.2233474

Comparaison d’une moyenne à une référence: comparer la moyenne des ages à un age de référence

## 
##  One Sample t-test
## 
## data:  smp$age
## t = 31.672, df = 796, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 24
## 95 percent confidence interval:
##  37.97618 39.82307
## sample estimates:
## mean of x 
##  38.89962

Comparaison d’une variable associée à une population mesurée en 2 temps (avant et après): ce sont les tests appariés

  • Mc Nemar: mcnmar.test(b.debut, b.fin)
  • t de Student pour population appariée: t.test(b.debut, b.fin, paired=TRUE)

Quiz mémoire12

Quelles sont les conditions de validité d’un test de corrélation de Pearson ?

La commande pour réaliser un test de corrélation de Pearson entre les variables var 1 et var 2 est :

Quand les conditions de validité d’un test de corrélation de Pearson ne sont pas remplies, on doit réaliser :

Le test de Spearman pose parfois un problème car :

La commande pour tester si la moyenne d’une variable aléatoire est différente d’une valeur connue est :

Le test de comparaison de proportions pour deux échantillons appariés est :

Le test de comparaison de moyennes pour deux échantillons appariés est :

Pour réaliser un test t de Student pour échantillons appariés, il faut ajouter dans la commande :

Lab4:Tests d’association graphique bivariés

Croisement de 2 variables 2 variables qual (tableau de contigence) 1 var qual et 1 var numerique ==> permet de faire par exemple des moyennes

##    
##       0   1
##   0 441 140
##   1 131  80
##    
##             0         1
##   0 0.5568182 0.1767677
##   1 0.1654040 0.1010101
##    
##             0         1
##   0 0.7590361 0.2409639
##   1 0.6208531 0.3791469
##    
##             0         1
##   0 0.7709790 0.6363636
##   1 0.2290210 0.3636364
##           abus
## subst.cons   0   1
##          0 441 140
##          1 131  80

Test khi2

## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  tab
## X-squared = 14.052, df = 1, p-value = 0.0001779

Affichage des effectifs observés

##    
##       0   1
##   0 441 140
##   1 131  80
##    
##            0         1
##   0 419.6111 161.38889
##   1 152.3889  58.61111

Test de Fisher

## 
##  Fisher's Exact Test for Count Data
## 
## data:  tab
## p-value = 0.0002193
## alternative hypothesis: true odds ratio is not equal to 1
## 95 percent confidence interval:
##  1.351339 2.728231
## sample estimates:
## odds ratio 
##   1.921985

Croisement age et subst.cons

## [1] 31 49 50 47 23 34
## 
##    0    1 <NA> 
##  587  212    0

Décire la variable age en fonction des 2 modalités de la variable subst.cons (0 ou 1)

##        0        1 
## 41.97099 30.36967

Pour réaliser un test t de student

## 
##  Two Sample t-test
## 
## data:  smp$age[smp$subst.cons == 0] and smp$age[smp$subst.cons == 1]
## t = 11.785, df = 795, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##   9.668959 13.533684
## sample estimates:
## mean of x mean of y 
##  41.97099  30.36967

Ecriture plus rapide (comme avec xtabs)

## 
##  Welch Two Sample t-test
## 
## data:  age by subst.cons
## t = 15.24, df = 666.83, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  10.10664 13.09600
## sample estimates:
## mean in group 0 mean in group 1 
##        41.97099        30.36967

Notation par formule pour faire une moyenne (mean)

##   subst.cons      age
## 1          0 41.97099
## 2          1 30.36967

Estimation de la durée d’interview selon que la personne est dépressive ou pas la variable durée d’interview : smp\(dur.interv état dépressif: smp\)dep.cons

##   dep.cons dur.interv
## 1        0         60
## 2        1         65

Donner la borne inférieure d’un intervalle de confiance à 95 % pour la corrélation linéaire (Pearson) entre les variables durée d’interview (dur.interv) et âge (age) (3 chiffres après la virgule).

## 
##  Pearson's product-moment correlation
## 
## data:  smp$age and smp$dur.interv
## t = 2.3487, df = 745, p-value = 0.0191
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.01408787 0.15650345
## sample estimates:
##        cor 
## 0.08573358

Nous souhaitons vérifier si la durée d’interview (dur.interv) diffère sensiblement selon que les individus ont déjà effectué une tentative de suicide dans le passé ou non (suicide.past) à l’aide d’un test de Wilcoxon. Quel degré de significativité ?

## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  smp$dur.interv by smp$suicide.past
## W = 41892, p-value = 1.355e-07
## alternative hypothesis: true location shift is not equal to 0

Quiz exercice3

Quiz exercice3bis (facultatif)

Quelle est la valeur de la statistique de test (c’est-à-dire la valeur du « t », que l’on donnera pour simplifier en valeur absolue) pour un test de Student comparant les durées moyennes d’intervention (dur.interv) selon le diagnostic de dépression (dep.cons). Nous supposerons l’égalité des variances dans les deux groupes (3 chiffres après la virgule).

## 
##  Two Sample t-test
## 
## data:  smp$dur.interv by smp$dep.cons
## t = -5.2583, df = 747, p-value = 1.9e-07
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -10.457001  -4.771515
## sample estimates:
## mean in group 0 mean in group 1 
##        58.92341        66.53767

Le fisher test permet d’obtenir l’ODDS RATIO

Devoir évalué par les pairs (2/3) (échéance le 17 oct 2018)

voir https://bookdown.org/connect/#/apps/1985/access/346

Semaine4: Régression linéaire simple et multiple, régression logistique

Chapitre13:Régression linéaire simple

Chargement du fichier

Affichage d’un nuage de points

Avec jitter on fait apparaître les points qui sont masqués par d’autres points On peux également augmenter le jitter

Dessin de la droite de régression linéraire: durée = a + b * age

Création du modéle de régression linéaie simple: il introduit du bruit à la droite: durée = a + b * age + bruit Pour savoir si b est statistiquement <> 0, il faut estimer le petit p du modèle

## 
## Call:
## lm(formula = dur.interv ~ age, data = smp.long)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -62.470 -14.402  -1.712  12.341  60.055 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 57.04091    2.22028  25.691   <2e-16 ***
## age          0.12625    0.05375   2.349   0.0191 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 19.57 on 745 degrees of freedom
##   (52 observations deleted due to missingness)
## Multiple R-squared:  0.00735,    Adjusted R-squared:  0.006018 
## F-statistic: 5.516 on 1 and 745 DF,  p-value: 0.0191

Le modèle indique que a=57.05091 et b=0.12625 le p de a est <2e-16: c’est le résultat du test de nullité de a le p de b est 0.0191: c’est le résultat du test de nullité de b qui est p<5% ==> Donc a et b sont statistiquement <> 0

Quiz mémoire13

Nous construisons la droite de régression d’un nuage de points de façon à : Minimiser la somme des carrés des distances verticales entre les points et cette droite

La fonction “jitter” introduit du bruit sur les valeurs d’une variable pour : Eviter d’avoir trop de points superposés dans un graphique

Quelle est la commande qui permet d’obtenir sur un nuage de points la droite de régression ? abline (lm (Y~X))

Quelle est la commande qui permet d’obtenir les valeurs p des coefficients de régression d’un modèle linéaire mod1 ? summary (mod1)

Dans une régression linéaire, de quel type est la variable à expliquer (Y) ? Quantitative

Quelle est l’équation d’un modèle de régression linéaire simple ?

\(Y = a + b X + bruit\)

Dans un modèle de régression simple, le coefficient de la variable X vaut -0.7 (avec un p < à 0.05). Que cela signifie-t-il ? Pour le gain d’une unité de X, Y diminue de 0.7 unité Pour le gain d’une unité de X, Y diminue de 0.7 unité - correct

Chapitre14:Régression, corrélation et test t

Quand l’age du détenu augmente alors la durée de l’entretien augmente. Les 2 variables sont effectivement corrélées.

## 
## Call:
## lm(formula = smp.long$dur.interv ~ smp.long$age)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -62.470 -14.402  -1.712  12.341  60.055 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  57.04091    2.22028  25.691   <2e-16 ***
## smp.long$age  0.12625    0.05375   2.349   0.0191 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 19.57 on 745 degrees of freedom
##   (52 observations deleted due to missingness)
## Multiple R-squared:  0.00735,    Adjusted R-squared:  0.006018 
## F-statistic: 5.516 on 1 and 745 DF,  p-value: 0.0191

Le test de nullité présente p tres petit Est-ce que le test de la nullité de la corrélation entre la durée d’interview et l’age des détenus présente la meme résutlat ?

## 
##  Pearson's product-moment correlation
## 
## data:  smp.long$dur.interv and smp.long$age
## t = 2.3487, df = 745, p-value = 0.0191
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.01408787 0.15650345
## sample estimates:
##        cor 
## 0.08573358

On constate que le p est très faible et on peux rejeter la nullité de la corrélation. Donc les 2 vaiables sont corrélées et le p du test de nullité de la corrélation = strictement au p du test de non nullité

A noter que cor = b * ET(age)/ET(durée)

Régression linéarie avec un variable binaire: la durée de l’interviwe est-elle liée à l’état dépressif ?

La variation de durée des entretiens entre le groupe des déprimés et ceux des non déprimés

## 
## Call:
## lm(formula = dur.interv ~ dep.cons, data = smp.long)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -62.538 -13.923   1.077  12.077  61.077 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  58.9234     0.9041  65.171  < 2e-16 ***
## dep.cons      7.6143     1.4481   5.258  1.9e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 19.33 on 747 degrees of freedom
##   (50 observations deleted due to missingness)
## Multiple R-squared:  0.03569,    Adjusted R-squared:  0.0344 
## F-statistic: 27.65 on 1 and 747 DF,  p-value: 1.9e-07

Quiz mémoire 14

Dans un modèle linéaire simple, nous testons la nullité du coefficient de régression b de la variable à expliquer Y sur la variable explicative quantitative X. A quel test cela s’apparente-t-il ? Tester la nullité du coefficient de correlation entre la variable X et la variable Y

Quelles sont les conditions si nous voulons tester par un modèle de régression linéaire simple, la différence de moyennes entre les modalités d’une variable explicative X qualitative ? X doit être une variable binaire (à deux classes)

Chapitre15:Régression linéaire multiple, analyse de variance

variable à expliquer: durée entretien ==> quantitative variable explicative: age (quant), dépression (binaire), abus de substance (binaire), schizophrnie (binaire)

Régression linéaire multiple

## 
## Call:
## lm(formula = dur.interv ~ age + dep.cons + subst.cons + scz.cons, 
##     data = smp)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -63.654 -14.522  -1.193  11.482  62.482 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 48.90105    2.62213  18.649  < 2e-16 ***
## age          0.22096    0.05708   3.871 0.000118 ***
## dep.cons     7.38932    1.44783   5.104 4.24e-07 ***
## subst.cons   5.25157    1.74318   3.013 0.002678 ** 
## scz.cons     2.27256    2.52323   0.901 0.368062    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 19.1 on 742 degrees of freedom
##   (52 observations deleted due to missingness)
## Multiple R-squared:  0.05833,    Adjusted R-squared:  0.05325 
## F-statistic: 11.49 on 4 and 742 DF,  p-value: 4.692e-09

variable explicative catégorielle à plus de 2 classes

Si on veut utiliser une variable profession comme variable explicative, il faut la recoder en plusieurs variables binaires avec une des modalités définie commme modalité de référence (par exemple agriculteur) ==> R le fait automatiquement

## 
## Call:
## lm(formula = dur.interv ~ age + dep.cons + subst.cons + scz.cons + 
##     prof, data = smp)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -63.280 -14.164  -1.337  10.959  63.184 
## 
## Coefficients:
##                         Estimate Std. Error t value Pr(>|t|)    
## (Intercept)             62.79202   10.20779   6.151 1.26e-09 ***
## age                      0.21289    0.05884   3.618 0.000317 ***
## dep.cons                 7.36792    1.45840   5.052 5.53e-07 ***
## subst.cons               5.34589    1.76902   3.022 0.002599 ** 
## scz.cons                 2.50439    2.54734   0.983 0.325863    
## profartisan            -11.48515    9.82936  -1.168 0.243005    
## profautre              -10.28748   10.33482  -0.995 0.319862    
## profcadre              -19.29636   10.38568  -1.858 0.063574 .  
## profemploye            -13.55809    9.76340  -1.389 0.165358    
## profouvrier            -14.01270    9.72111  -1.441 0.149880    
## profprof.intermediaire -13.01926    9.96911  -1.306 0.191977    
## profsans emploi        -14.27866    9.71782  -1.469 0.142174    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 19.11 on 731 degrees of freedom
##   (56 observations deleted due to missingness)
## Multiple R-squared:  0.06595,    Adjusted R-squared:  0.05189 
## F-statistic: 4.692 on 11 and 731 DF,  p-value: 5.825e-07

Choix de la modalité de référence

Pour changer la modalité de référence: on choisit celle qui est la plus fréquente

## 
## Call:
## lm(formula = dur.interv ~ age + dep.cons + subst.cons + scz.cons + 
##     prof, data = smp)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -63.280 -14.164  -1.337  10.959  63.184 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)            48.77932    2.83938  17.180  < 2e-16 ***
## age                     0.21289    0.05884   3.618 0.000317 ***
## dep.cons                7.36792    1.45840   5.052 5.53e-07 ***
## subst.cons              5.34589    1.76902   3.022 0.002599 ** 
## scz.cons                2.50439    2.54734   0.983 0.325863    
## profagriculteur        14.01270    9.72111   1.441 0.149880    
## profartisan             2.52755    2.48989   1.015 0.310381    
## profautre               3.72522    3.99637   0.932 0.351567    
## profcadre              -5.28366    4.25567  -1.242 0.214798    
## profemploye             0.45460    2.12659   0.214 0.830785    
## profprof.intermediaire  0.99344    2.95809   0.336 0.737089    
## profsans emploi        -0.26596    1.87727  -0.142 0.887375    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 19.11 on 731 degrees of freedom
##   (56 observations deleted due to missingness)
## Multiple R-squared:  0.06595,    Adjusted R-squared:  0.05189 
## F-statistic: 4.692 on 11 and 731 DF,  p-value: 5.825e-07

Estimation de l’effet globale d’une variable catégorielle à plus de 2 classes

## Single term deletions
## 
## Model:
## dur.interv ~ age + dep.cons + subst.cons + scz.cons + prof
##            Df Sum of Sq    RSS    AIC F value    Pr(>F)    
## <none>                  266846 4395.6                      
## age         1    4778.4 271624 4406.8 13.0899 0.0003173 ***
## dep.cons    1    9317.1 276163 4419.1 25.5233 5.527e-07 ***
## subst.cons  1    3333.6 270180 4402.8  9.1322 0.0025992 ** 
## scz.cons    1     352.8 267199 4394.6  0.9666 0.3258633    
## prof        7    2295.5 269142 4388.0  0.8983 0.5071556    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Pas d’effet de la profession sur la durée de l’interview (p>5%)

Interaction entre 2 variables explicatives quand le modèle additif n’est plus pertinent

Si il y a un lien entre dépression et abus de substance de façon combinée sur la durée de l’entretien ? On peux le vérifier et le tester avec l’instruction *

## 
## Call:
## lm(formula = dur.interv ~ age + dep.cons * subst.cons + scz.cons, 
##     data = smp)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -62.032 -14.251  -1.163  11.472  62.313 
## 
## Coefficients:
##                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         49.51693    2.65788  18.630  < 2e-16 ***
## age                  0.21728    0.05711   3.805 0.000154 ***
## dep.cons             6.15780    1.69775   3.627 0.000306 ***
## subst.cons           3.17244    2.29849   1.380 0.167931    
## scz.cons             1.97233    2.53094   0.779 0.436059    
## dep.cons:subst.cons  4.49688    3.24296   1.387 0.165963    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 19.08 on 741 degrees of freedom
##   (52 observations deleted due to missingness)
## Multiple R-squared:  0.06077,    Adjusted R-squared:  0.05443 
## F-statistic: 9.588 on 5 and 741 DF,  p-value: 7.024e-09

Il y a une nouvelle ligne dep.cons:subst.cons. Au bout de cette ligne le p vaut 16% ! Donc statistiquement il n’y a pas d’interaction entre dépression et substance sur la durée de l’interview ==> donc quand un détenu est déprimé et consomme des substances, alors la durée est augmentée de 7 + 5 minutes Attention, l’ajout du terme d’interaction empêche d’interpréter les lignes dep et subst

Analyse de variance

Analyse de variance = régression linéaire multiple ou toutes les variables explicatives sont catégorielles (ou qualitatives) C’est un cas particulier qui n’a qu’un intérêt historique L’intérêt réside uniquement quand on veux comparer la moyenne d’une variable quanti à plus de 2 groupes: Exemple: comparer la durée moyenne d’interview en fonction des professions (pas de test t possible car il y a plus de 2 professions)

## 
## Call:
## lm(formula = dur.interv ~ prof, data = smp)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -61.731 -13.826  -1.731  12.947  58.912 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)             61.7315     1.3359  46.211   <2e-16 ***
## profagriculteur         17.0185     9.9071   1.718   0.0863 .  
## profartisan              2.0941     2.5033   0.837   0.4031    
## profautre                2.4993     4.0755   0.613   0.5399    
## profcadre               -4.7750     4.3063  -1.109   0.2679    
## profemploye              0.3220     2.1742   0.148   0.8823    
## profprof.intermediaire   1.3440     3.0096   0.447   0.6553    
## profsans emploi         -0.6432     1.9168  -0.336   0.7373    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 19.63 on 735 degrees of freedom
##   (56 observations deleted due to missingness)
## Multiple R-squared:  0.008295,   Adjusted R-squared:  -0.001149 
## F-statistic: 0.8783 on 7 and 735 DF,  p-value: 0.5231
## Single term deletions
## 
## Model:
## dur.interv ~ prof
##        Df Sum of Sq    RSS    AIC F value Pr(>F)
## <none>              283316 4432.1               
## prof    7    2369.9 285686 4424.3  0.8783 0.5231

Comment faire pour comparer un pourcentage quand on a plusieurs sous groupes. Par exemple comparer la prévalence de la dépression en fonction des professions:

## Warning in chisq.test(smp$dep.cons, smp$prof): Chi-squared approximation
## may be incorrect
## 
##  Pearson's Chi-squared test
## 
## data:  smp$dep.cons and smp$prof
## X-squared = 6.7205, df = 7, p-value = 0.4586

Condition de validité du modèle de régression

3 conditions principales * normalité du terme de bruit * variance du bruit ne doit dépendre ni des valeurs de la variable à expliquer ni des valeurs des variables explicatives * le bruit ne doit pas avoir de structure de corrélation interne

Quiz mémoire15

Dans quel cas une régression linéaire peut-elle être considérée comme une régression linéaire multiple ? S’il y a plusieurs variables explicatives

Quel type de variables explicatives pouvons-nous introduire dans une régression linéaire multiple ? Quantitatives et qualitatives

Quelle commande faut-il pour obtenir un modèle de régression linéaire multiple ? lm (y~x1+x2+x3)

Quelle commande permettrait de vérifier la normalité des résidus d’un modèle linéaire “model” ? hist(resid(model))

En combien de variables binaires R recode-t-il une variable catégorielle à 5 modalités ? 4 variables, létat de la 5éme est déduit de l’état des 4 autres

Quelle commande permettrait de désigner “artisan” comme modalité de référence pour la variable catégorielle “prof”? prof < - relevel (prof, ref=“artisan”)

Comment ajouter un terme d’interaction entre deux variables ? var1 * var2

Si, dans un modèle linéaire, nous ajoutons un terme d’interaction entre deux variables et que celui-ci est significativement non nul, alors les effets principaux de ces variables : Ne peuvent pas être interprétés simplement

Chapitre16:Introduction à la régression logistique

Comment expliquer un risque suicidaire élevé par la durée de la peine, l’existence de mesures disciplinaires; l’existence d’abus. Les variables explicatives sont “emmelées”. Un modèle de régression linéaire multiple ne permet pas d’estimer le risque. haut risque de suicide = a + bdurée + cdiscipl + d*abus + bruit cette équation ne fonctionne pas car la variable à expliquer est binaire Il faudrait une variable quanti. pour éviter ce problème on remplace la variable binaire à expliquer par: \(log (prob(HRsuicide=oui)/(1-prob(HRsuicide=oui))= a + b*durée + c*discipl + d*abus\)

Pour un premier modèle simple ou la seule variable explicative est abus log (prob(HRsuicide=oui)/(1-prob(HRsuicide=oui))= a + b*durée

## 
## Call:
## glm(formula = suicide.hr ~ abus, family = "binomial", data = smp)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -0.8446  -0.6020  -0.6020  -0.6020   1.8959  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  -1.6161     0.1154 -14.003  < 2e-16 ***
## abus          0.7688     0.1897   4.052 5.07e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 760.21  on 752  degrees of freedom
## Residual deviance: 744.26  on 751  degrees of freedom
##   (46 observations deleted due to missingness)
## AIC: 748.26
## 
## Number of Fisher Scoring iterations: 4

le p est très faible: au risque de 5%, il existe une association statistiquement significative entre des antécédents d’abus dans l’enfance et un haut risque suicidaire pour un détenu incarcéré le coéf b = 0.7688: est facile à interpréter uniquement avec une variable explicative binaire: exp(b) = exp(0.7688) = 2.16 = ODDSRATIO qui associe la variable explicative à la variable à expliquée. Cela ne fonctionne que si la variable à expliquer est suffisament rare (détenus à haut risque suicidaire). Dans ce cas, les antécédents d’abus multiplient par 2 le risque suicidaire

Calcul de l’ODDRATIO directement avec twoby2

## [1] 2.157176
## 2 by 2 table analysis: 
## ------------------------------------------------------ 
## Outcome   : 0 
## Comparing : 0 vs. 1 
## 
##     0   1    P(0) 95% conf. interval
## 0  63  90  0.4118    0.3366   0.4913
## 1 147 453  0.2450    0.2122   0.2810
## 
##                                    95% conf. interval
##              Relative Risk: 1.6807    1.3276   2.1276
##          Sample Odds Ratio: 2.1571    1.4873   3.1287
## Conditional MLE Odds Ratio: 2.1547    1.4577   3.1764
##     Probability difference: 0.1668    0.0837   0.2525
## 
##              Exact P-value: 1e-04 
##         Asymptotic P-value: 1e-04 
## ------------------------------------------------------

Quiz mémoire 16

## [1] 7.028688

Chapitre17:Régression logistique multiple

## 
## Call:
## glm(formula = suicide.hr ~ abus + discip + duree, family = "binomial", 
##     data = smp)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.3200  -0.6655  -0.6012  -0.4997   2.0700  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -0.02462    0.49635  -0.050 0.960439    
## abus         0.62289    0.22764   2.736 0.006213 ** 
## discip       0.52809    0.23767   2.222 0.026287 *  
## duree       -0.39862    0.11723  -3.400 0.000673 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 555.94  on 549  degrees of freedom
## Residual deviance: 533.26  on 546  degrees of freedom
##   (249 observations deleted due to missingness)
## AIC: 541.26
## 
## Number of Fisher Scoring iterations: 4

Tous les p sont < 5% ==> les 3 variables explicatives sont statistiquement associées à un haut risque suicidaire et ce toute chose égale par ailleurs: antécédents d’abus est statistiquement associé à un haut risque suicidaire

signe des coefficients: 1 abus / 0 pas d’abus : coef positif ==> abus augmente le 1 mesure disciplinaire / 0 absence de mesures: coeff positif ==> mesure disciplinaire durée : de 1 à 5 : coeff négatif ==> 1 durée elevée diminue la probabilité d’être à haut risque suicidaire

amplitude des coefficients Il faut faire exp(coeff) Pour les variables binaires avec 1 comme facteur de risque on peux interpreter directement le exp: on interprete comme les ODDSRATIO: l’existence d’antécédents d’abus dans l’enfance multiplie par 2 le risque d’être à haut risque suicidaire. pour les variables non binaires: la durée : on a 0.7 ==> quand on passe d’un cran dans la durée d’incarcération (1 à 5), le niveau de haut risque suicidaire diminue de 30% (1-0.7)

## (Intercept)        abus      discip       duree 
##   0.9756803   1.8643147   1.6956873   0.6712485

Ce qui change ou pas entre la régression linéaire multiple et la régression logistique multiple

les variables catégorielles à plus de 2 classes peuvent être utilisées pour connaître l’effet global d’une var catégorielle, on fait drop1(mod1,.~.,test=“Chisq”) pour trouver une synergie entre variable explicative: interaction(smp\(duree*smp\)discipl)

Conditions de validité de la régressison logistique

il faut au moins 5 à 10 evenements par variable explicative. Par exemple : explication de la variable “forme de schizophrenie” : 54 détenus de cette sorte utilisons les variables explicatives: age , trauma, prof. cela correspond à 1+1+ 8 classes recodée en 7 varaibles binaires (8 métiers) = 9 variables explicatives 10 événements par variable explicative: 910 = 90 mais on a 54 détenus 5 évenements par variable explicative: 95 = 45 et on a 54 détenus: donc on est bon

Quizz mémoire17

Quel type de variable à expliquer est utilisé pour un modèle de régression logistique ? Binaire (2 modalités)

Le modèle logistique intègre t-il une erreur résiduelle ? NON

Quelle commande R faut-il utiliser pour réaliser une régression logistique ? glm(y~x, family=binomial)

Un modèle de régression logistique reliant Y : obésité (Oui/Non) à X : sédentarité (Oui/Non), donne un coefficient de 1.95 (où “Non” est la référence) et une p-value de 0,04. Donner la bonne interprétation (en faisant l’hypothèse que la prévalence de l’obésité est très faible) :

A quoi pouvons-nous apparenter la régression logistique ?

Log (Probabilité d’un événement X/ (1-Probabilité d’un événement X)) varie entre :

Un modèle de régression logistique multiple est réalisé pour étudier les liens entre l’obésité (Oui/Non) en fonction des variables explicatives suivantes : âge (continue) ; sexe (F/H) ; origine géographique (5 classes). La condition de validité d’un tel modèle est elle vérifiée sachant qu’il y a 20 personnes obèse dans l’échantillon : On a 1 + 1 + 4 = 6 variables explicatives et il faut 5 à 10 evts par variable explicatives soit au minimum 6*5 = 30 evts et on a que 20 obèses

Lab5:ANOVA Régression linéaire ; régression logistique

Chargement du fichier smp

Extraction d’un subset

##    age n.enfant               prof
## 3   50        2 prof.intermediaire
## 5   23        1        sans emploi
## 11  31        0 prof.intermediaire
## 17  60        2 prof.intermediaire
## 23  32        0        sans emploi
## 27  32        1        sans emploi
##       age           n.enfant                      prof    
##  Min.   :19.00   Min.   : 0.000   sans emploi       :222  
##  1st Qu.:27.00   1st Qu.: 0.000   prof.intermediaire: 58  
##  Median :36.00   Median : 1.000   cadre             : 24  
##  Mean   :38.42   Mean   : 1.648   ouvrier           :  0  
##  3rd Qu.:47.25   3rd Qu.: 3.000   agriculteur       :  0  
##  Max.   :83.00   Max.   :13.000   artisan           :  0  
##                  NA's   :11       (Other)           :  0
## 
##            ouvrier        agriculteur            artisan 
##                227                  6                 90 
##              autre              cadre            employe 
##                 31                 24                135 
## prof.intermediaire        sans emploi 
##                 58                222
## 
##              cadre prof.intermediaire        sans emploi 
##                 24                 58                222

Résumer le nb enfant moyen en fonction de la profession:

##                 prof n.enfant
## 1              cadre 2.166667
## 2 prof.intermediaire 2.107143
## 3        sans emploi 1.469484

Création d’une ANOVA avec la commande lm

## 
## Call:
## lm(formula = n.enfant ~ prof, data = smpb)
## 
## Coefficients:
##            (Intercept)  profprof.intermediaire         profsans emploi  
##                2.16667                -0.05952                -0.69718
## Single term deletions
## 
## Model:
## n.enfant ~ prof
##        Df Sum of Sq    RSS    AIC F value  Pr(>F)  
## <none>              947.74 349.96                  
## prof    2     25.05 972.79 353.60  3.8325 0.02276 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Explication de n.enfant par une variable numérique

## 
## Call:
## lm(formula = n.enfant ~ age, data = smpb)
## 
## Coefficients:
## (Intercept)          age  
##    -1.00902      0.06849
## 
## Call:
## lm(formula = n.enfant ~ age, data = smpb)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.2646 -0.9087 -0.2511  0.5708  9.0094 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.009022   0.262696  -3.841  0.00015 ***
## age          0.068488   0.006357  10.773  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.546 on 291 degrees of freedom
##   (11 observations deleted due to missingness)
## Multiple R-squared:  0.2851, Adjusted R-squared:  0.2827 
## F-statistic: 116.1 on 1 and 291 DF,  p-value: < 2.2e-16

Création du modele à partir d’un subset

## 
## Call:
## lm(formula = n.enfant ~ age, data = smp, subset = prof == "sans emploi" | 
##     prof == "cadre" | prof == "prof.intermediaire")
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.2646 -0.9087 -0.2511  0.5708  9.0094 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.009022   0.262696  -3.841  0.00015 ***
## age          0.068488   0.006357  10.773  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.546 on 291 degrees of freedom
##   (17 observations deleted due to missingness)
## Multiple R-squared:  0.2851, Adjusted R-squared:  0.2827 
## F-statistic: 116.1 on 1 and 291 DF,  p-value: < 2.2e-16
## (Intercept)         age 
## -1.00902159  0.06848829
##        age 
## 0.06848829
##        age 
## 0.06848829
##                   2.5 %      97.5 %
## (Intercept) -1.52604619 -0.49199700
## age          0.05597581  0.08100076
## Analysis of Variance Table
## 
## Response: n.enfant
##            Df Sum Sq Mean Sq F value    Pr(>F)    
## age         1 277.35  277.35  116.05 < 2.2e-16 ***
## Residuals 291 695.44    2.39                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##         fit        lwr       upr
## 1 0.3607441 0.06588459 0.6556037
## 2 1.0456270 0.83652266 1.2547313
## 3 1.7305099 1.55212966 1.9088901

fit valeurs prédites lwr et upr correspondent aux intervalles de confiance de la prédiction

Régression logistique avec variable binaire

## 
##   0   1   2   3   4   5   6   7   8   9  10  11  13 
## 214 220 125 101  55  31   7   7   7   2   2   1   1
## 
##   0   1 
## 559 214

commange glm

## 
## Call:
## glm(formula = n.enfant.bin ~ age, family = binomial("logit"), 
##     data = smp)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.8551  -0.7525  -0.5326   0.8763   2.1301  
## 
## Coefficients:
##              Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -3.827089   0.312803 -12.235   <2e-16 ***
## age          0.069487   0.007016   9.904   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 912.06  on 772  degrees of freedom
## Residual deviance: 794.16  on 771  degrees of freedom
##   (26 observations deleted due to missingness)
## AIC: 798.16
## 
## Number of Fisher Scoring iterations: 4

Quiz Exercice4

Pour réaliser une ANOVA à un facteur entre les variables y (réponse) et z (facteur) dans le data frame d, nous utilisons la commande

Nous considérons l’âge (age) des individus ayant 4 enfants ou plus (n.enfant) et dont la catégorie socio-professionnelle (prof) figure parmi les modalités suivantes : « sans emploi », « ouvrier », « cadre » et « employé ». Pour ce sous-ensemble de l’échantillon du data frame smp, le rapport entre les deux variances les plus extrêmes dans ces 4 groupes est :

## 
##            ouvrier        agriculteur            artisan 
##                 28                  0                  0 
##              autre              cadre            employe 
##                  0                  4                 16 
## prof.intermediaire        sans emploi 
##                  0                 26
##     age        prof n.enfant
## 89   37     ouvrier        4
## 119  46     ouvrier        5
## 127  50     ouvrier       10
## 128  53 sans emploi        4
## 146  49     ouvrier       11
## 158  42     ouvrier        4
##          prof       age
## 1     ouvrier  88.22619
## 2       cadre 158.00000
## 3     employe 135.71667
## 4 sans emploi 281.22615
## [1] 3.187559

281.22615/88.22619 = 3.187559>3

Nous souhaitons réaliser une ANOVA à un facteur en considérant l’âge (age) comme variable réponse, et la taille de la fratrie (n.fratrie) recodée en 3 classes (0-2, 3-4, 5+) comme variable explicative. Les bornes des intervalles sont inclues pour chacune des trois classes. Indiquer le résultat du test F de Fisher-Snedecor d’égalité des moyennes :

## 
##   0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  16  17  18 
##  76  86 111 129  90  75  63  41  33  31  22  14  10   4   3   3   1   2 
##  19  20  21 
##   3   1   1
##  [1] "0"  "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9"  "10" "11" "12" "13"
## [15] "14" "16" "17" "18" "19" "20" "21"
## [1] 21
## 
## 0-2 3-4  5+ 
## 273 219 307
## Warning: In lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
##  extra argument 'family' will be disregarded
## 
## Call:
## lm(formula = age ~ n.fratrie.cat, data = smp, family = binomial("logit"))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -21.251 -10.995  -1.251   8.749  44.005 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       40.2509     0.8049  50.005   <2e-16 ***
## n.fratrie.cat3-4  -1.2555     1.2040  -1.043   0.2974    
## n.fratrie.cat5+   -2.6125     1.1045  -2.365   0.0183 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 13.25 on 794 degrees of freedom
##   (2 observations deleted due to missingness)
## Multiple R-squared:  0.007017,   Adjusted R-squared:  0.004516 
## F-statistic: 2.805 on 2 and 794 DF,  p-value: 0.06109
## Analysis of Variance Table
## 
## Response: age
##                Df Sum Sq Mean Sq F value  Pr(>F)  
## n.fratrie.cat   2    985  492.59  2.8053 0.06109 .
## Residuals     794 139417  175.59                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Single term deletions
## 
## Model:
## age ~ n.fratrie.cat
##               Df Sum of Sq    RSS    AIC F value  Pr(>F)  
## <none>                     139417 4122.0                  
## n.fratrie.cat  2    985.17 140402 4123.6  2.8053 0.06109 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Nous nous intéressons à la relation entre la variable séparation (separation) et l’âge (age) des individus, que l’on modélise à l’aide d’une régression logistique. Donner la borne inférieure de l’intervalle de confiance à 95 % pour l’odds-ratio (3 chiffres après la virgule).

## 
## Call:
## glm(formula = separation ~ age, family = "binomial", data = smp)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.1529  -1.0567  -0.9597   1.2748   1.5691  
## 
## Coefficients:
##              Estimate Std. Error z value Pr(>|z|)  
## (Intercept)  0.187954   0.224813   0.836   0.4031  
## age         -0.012936   0.005536  -2.337   0.0195 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 1073.4  on 787  degrees of freedom
## Residual deviance: 1067.9  on 786  degrees of freedom
##   (11 observations deleted due to missingness)
## AIC: 1071.9
## 
## Number of Fisher Scoring iterations: 4
## Waiting for profiling to be done...
##                   2.5 %       97.5 %
## (Intercept) -0.25167204  0.630369847
## age         -0.02388803 -0.002161716
## [1] 0.976395

Quiz Exercice4 bis (Facultatif)

À partir d’un modèle de régression linéaire dont les résultats ont été enregistrés dans une variable appelée mod, l’instruction fitted(mod) permet de fournir : Les valeurs prédites de la variable réponse pour les valeurs observées de la variable explicative

Pour obtenir un intervalle de confiance à 90 % pour les coefficients d’un modèle de régression logistique stocké dans une variable appelée mod, on utilise la commande: confint(mod, level=0.90)

Pour le modèle de régression linéaire simple dans lequel la variable durée d’interview (dur.interv) tient lieu de variable à expliquer et la variable âge (age) de variable explicative, indiquer la borne supérieure de l’intervalle de confiance à 90 % pour la pente de régression (3 chiffres après la virgule).

##                  5 %     95 %
## (Intercept) 47.28359 62.71641
## age               NA       NA
## Single term deletions
## 
## Model:
## dur.interv ~ age
##        Df Sum of Sq  RSS    AIC F value Pr(>F)
## <none>              4650 92.753               
## age     0         0 4650 92.753

À partir du modèle de régression logistique considérant la variable suicide.hr comme variable à expliquer et age comme variable explicative, en ne considérant que les individus pour lesquels dep.cons = 1, indiquer la probabilité de haut risque suicidaire d’un individu âgé de 35 ans (3 chiffres après la virgule). [question difficile]

## 
## Call:
## glm(formula = suicide.hr ~ age, family = "binomial", data = smp[])
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -0.8044  -0.7189  -0.6405  -0.5200   2.1255  
## 
## Coefficients:
##              Estimate Std. Error z value Pr(>|z|)   
## (Intercept) -0.552663   0.288027  -1.919  0.05501 . 
## age         -0.021565   0.007377  -2.923  0.00347 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 762.48  on 757  degrees of freedom
## Residual deviance: 753.42  on 756  degrees of freedom
##   (41 observations deleted due to missingness)
## AIC: 757.42
## 
## Number of Fisher Scoring iterations: 4

En complément

point commun avec la reg linéaire multiple et la reg logisitique: * utilisation de var catégorielle à plus de 2 classes : elles seront recodées en var binaires * utilisation de termes d’interaction (smp$duree*smp$discip)

Semaine5: Données de survie, méthodes exploratoires multidimensionnelles

Chapitre18:Données de survie ou censurées

durée jusqu’à survenue d’un evt: par exemple durée de chomage d’un group d’individu au chomage les durées sont censurées: on ne connait pas sa valeur

survie = délai jusqu’à survenue d’un evt censures = les exclus vivants / les perdus de vue (le fait qu’un patient déménage) la fonction de survie S(t) = pourcentage de sujets survivants au cours du temps le risque instantané de déces h(t) = c’est une fonction mathématique

Méthode Kaplan Meier:

## 'data.frame':    125 obs. of  5 variables:
##  $ t     : int  121 121 40 39 66 64 5 30 34 5 ...
##  $ SEVRE : int  0 0 0 0 0 0 1 0 0 0 ...
##  $ AGE   : int  53 52 45 48 45 42 35 35 41 37 ...
##  $ SEXE  : int  1 2 2 1 1 1 1 1 1 1 ...
##  $ EDVNEG: int  0 0 0 1 0 0 0 0 0 0 ...

  • trait plein: la fonction de survie
  • trait pointillé: intervalle de confiance à 95% de la fonction de survie
  • trait verticaux: obs censurées

temps de rechute par groupe: H et F

Statistique aggrégés spécifiques: Médiane de survie = moment ou 50% des sujets sont vivants et 50% de sujets sont décédés

## Call: survfit(formula = Surv(alc$t, alc$SEVRE) ~ 1)
## 
##       n  events  median 0.95LCL 0.95UCL 
##     125      27      NA     160      NA

Dans cet exemple: la Median n’est pas obtenue car à la fin de l’étude plus de 50% des patients n’ont pas rechuté

Quiz mémoire18

Sur quelles données appliquez-vous une analyse de survie ? Données longitudinales

Que sont les données censurées ?

  • Les perdus de vue avant l’apparition de l’évènement en question

  • Les individus qui n’ont pas subi l’évènement avant la fin de l’étude

  • Un exclu vivant qui n’a pas encore subi l’évènement

Avec des données dites de “survie”, l’évènement est- il toujours un décès ? Non: c’est une métaphore

La fonction h(t) (risque instantané de l’évènement) correspond à : La densité de probabilité d’avoir l’évènement à l’instant t

Quelle méthode est-elle utilisée pour tracer une fonction de survie ? Méthode de Kaplan-Meier

Quelle est la statistique classiquement utilisée avec les données de survie ? Médiane de survie

La fonction de survie est une fonction : Décroissante variant de 1 à 0

Quelle est la commande pour obtenir une courbe de Kaplan Meier ? plot(survfit(Surv(durée,évènement)~1))

A quoi correspondent les signes “+” sur une courbe de Kaplan Meier ? Données censurées

Chapitre19:Tests et modèles pour données censurées

Test du log rank

On souhaiterais estimer la différence de taux de rechute entre hommes et femmes. On utilise un test du log rank (à assimiler à un test de rang - rang entre les temps de déces) conditions de validité: * nombreux temps de decés OU * nombreux mort à chaque temps de decés

## Call:
## survdiff(formula = Surv(t, SEVRE) ~ SEXE, data = alc)
## 
##          N Observed Expected (O-E)^2/E (O-E)^2/V
## SEXE=1 107       24    23.74   0.00281    0.0235
## SEXE=2  18        3     3.26   0.02046    0.0235
## 
##  Chisq= 0  on 1 degrees of freedom, p= 0.878

la dernière ligne affiche un petit p qui prouve qu’il n’y pas de différence évidente.

Modele de COX

On souhaite tester l’association entre la survie et une variable quant. Par exemple : risque de rechute de la maladie alcoolique et l’age. ex: les jeunes se connaisant mal pourraient rechuter plus souvent ou au contraire les vieux alcooliques auraient du mal à résister et rechuteraient plus souvent. On utilise le modèle de COX

## Call:
## coxph(formula = Surv(t, SEVRE) ~ AGE, data = alc)
## 
##        coef exp(coef) se(coef)     z     p
## AGE -0.0467    0.9544   0.0235 -1.99 0.047
## 
## Likelihood ratio test=4.09  on 1 df, p=0.0431
## n= 125, number of events= 27

sur la ligne AGE, on peux dire que au risque de 5%, il y a une association significative entre l’age et le risque de rechute. En effet le p < 5%. On regarde le coef qui de est de-0.0467 le coef négatif signifie que la survenue d’une rechute alcoolique pour les personnes plus agées

Tester l’association de la survie à une liste de variables explicatives. Par exemple la rechute en fonction de l’age, du sexe, de la survenue d’evts de vie On utilise encore COX

## Call:
## coxph(formula = Surv(t, SEVRE) ~ AGE + SEXE + EDVNEG, data = alc)
## 
##           coef exp(coef) se(coef)     z     p
## AGE    -0.0473    0.9538   0.0237 -2.00 0.046
## SEXE   -0.0151    0.9850   0.6206 -0.02 0.981
## EDVNEG -0.4428    0.6422   1.0240 -0.43 0.665
## 
## Likelihood ratio test=4.31  on 3 df, p=0.23
## n= 125, number of events= 27

seul l’age est statistiquement associé au risque de rechute. Le sexe et les evts de vie ne sont donc pas associé au risque. Il faut relativiser compte tenu du nombre d’ovservation (faible puissance) Les coeffs sont difficiles à interpréter mais leur exp est intéreprétable surtout si la var explicative est binaire

##       AGE      SEXE    EDVNEG 
## 0.9537763 0.9850037 0.6422475

Si on prend la variable EDVNEG, sont exp est 0,64 ce qui signifie que nous avons 36% de chance de moins de présenter un risque de rechute à un instant donné quand on a eu un evt de vie négatif. ce 0,64 correspond à un hazard ratio (rapport des risques instantanés de déces).

Conditions de validité du modèle de COX

  • un nombre suffisant d’evt (5 à 10 par variable explicative)
  • vérifier l’hypothèse des risques instantanés proportionnels

Si les 3 courbes sont globalement horizontales, alors on considère que l’hypothèse des risques proportionnels est vérifiée

Quiz mémoire19

Quelle commande faut-il utiliser pour réaliser un log-Rank ? survdiff

Dans quelle situation faut-il utiliser le modèle de Cox ? étudier l’association entre le délai de survenue de l’évènement et une variable explicative

Parmi les conditions de validité suivantes, quelle est celle qui doit être vérifier dans le cas d’un modèle de Cox ? Hypothèse des risques proportionnels

La validité d’un test du log-rank dépend : Du nombre d’évènements

L’exponentielle du coefficient issu d’un modèle de Cox correspond à un rapport des risques instantanés (HR). VRAI

Quelle commande faut-il utiliser pour réaliser un modèle de Cox? coxph(Surv(delai,évènement)~variable)

Quelle commande faut-il utiliser pour vérifier graphiquement l’hypothèse des risques proportionnels d’un modèle de Cox (model1) ? plot(cox.zph(model1))

Chapitre20: Introduction aux méthodes multidimensionnelles

Matrice de corrélation

avec var quant: OUI, avec var bin: OUI, avec var ordonnées: OUI, var cat: NON Attention pour les données manquantes: * on peux retirer les sujets qui ont des données manquantes. On utilisera l’option de cor use =“complete.obs” * on peux retirer les sujets uniquement pour l’utilisation des use=pairwise.complete.obs

Calcul d’une matrice avec R

##              age n.enfant scz.cons dep.cons grav.cons     rs     ed     dr
## age        1.000    0.441   -0.044   -0.110    -0.139 -0.223 -0.038  0.003
## n.enfant   0.441    1.000    0.003    0.002    -0.055 -0.126  0.011  0.015
## scz.cons  -0.044    0.003    1.000    0.064     0.290  0.021  0.077 -0.009
## dep.cons  -0.110    0.002    0.064    1.000     0.439  0.107  0.259  0.093
## grav.cons -0.139   -0.055    0.290    0.439     1.000  0.151  0.234  0.001
## rs        -0.223   -0.126    0.021    0.107     0.151  1.000  0.093  0.088
## ed        -0.038    0.011    0.077    0.259     0.234  0.093  1.000  0.115
## dr         0.003    0.015   -0.009    0.093     0.001  0.088  0.115  1.000

Pour examiner les corrélation de façon graphique

## corrplot 0.84 loaded

Le schema représente les corrélations sous forme de disque : la couleur et la taille sont directement liées au niveau de corrélation. Ici on voit visuellement que les corrélations les plus importantes sont: * age et n.enfant * schizophrénie, dépression et score de gravité * évitement du danger et dépression et score de gravité

Quiz mémoire20

Que valent les termes diagonaux d’une matrice de corrélation ? 1

Pour quel type de données ne pouvons-nous pas calculer la matrice de corrélation ? Les variables catégorielles

La matrice de données comporte beaucoup de données manquantes : quelle option faut-il utiliser dans la commande cor pour calculer la matrice de corrélation ? use=“pairwise.complete.obs”

Dans la commande “cor” permettant de calculer la matrice de corrélation entre plusieurs variables, quel est l’effet de l’option use=“complete.obs” ? Les observations comportant au moins une donnée manquante parmi toutes les variables sont retirées du calcul de la corrélation entre deux variables

Dans la commande “cor” permettant de calculer la matrice de corrélation entre plusieurs variables, quelle est l’utilité de l’option use=“pairwise.complete.obs” ? Seules les observations comportant au moins une donnée manquante parmi les deux variables considérées dans le calcul de la corrélation sont retirées du calcul de la corrélation. Cette option retire beaucoup de propriétés mathématiques à l’échantillon.

Comment représentons-nous visuellement une matrice de corrélation ? library(corrplot) ; corrplot(cor(mamatrice))

Chapitre21: Analyse en composante principale (ACP)

Le principe: les variables d’une matrice de corrélation sont comme des points sur une sphere. Plus les variables sont corréllées, plus les points sont proches sur la sphere. Attetntion: Lorsqu’il y a plus de 4 variables, la sphere correspondante est une hyper-sphere. Pour se représenter graphiquement une matrice de corrélation, il suffirait donc de dessinner les points sur la sphere. Mais cela est impossible car cette réprésentation générerait des déformations. Il faut donc projeter les points sur un plan avec un minimum de distortion => c’est la méthode de l’ACP.

En “théorie”"

Soit la matrice de corrélation 5 X 5 suivante: \[\left[ \begin{array} {rrr} 1 & 0.9 & 0.1 & -0.2 & -0.7 \\ 0.9 & 1 & 0.1 & -0.1 & -0.6 \\ 0.1 & 0.1 & 1 & 0.2 & -0.8 \\ -0.2 & -0.1 & 0.2 & 1 & -0.4 \\ -0.7 & -0.6 & -0.8 & -0.4 & 1 \end{array} \right]\]

On peux appliquer une transformation simple qui permet de passer des corrélations (niveaux de similitudes entre variables ): \(\sqrt(1-r)\) (r est le coeeficient de corrélation) On obtient alors la matrice de distance suivante: \[\left[ \begin{array} {rrr} 0 & 0.4 & 1.3 & 1.5 & 1.8 \\ 0.4 & 0 & 1.3 & 1.5 & 1. \\ 1.3 & 1.3 & 0 & 0.9 & 1.9 \\ 1.5 & 1.5 & 0.2 & 0 & 1.7 \\ 1.8 & 1.8 & 0.9 & 1.7 & 0 \end{array} \right]\]

Cette matrice contient des distances qui varient de 0 à 2: * quand la corrélation vaut 1: la distance vaut 0 * quand la corrélation vaut -1: la distance vaut 2

Donc quand les distances sont proches de 2, alors les variables sont très fortement négativement corrélées. Quand la distance est proche de 0, les variables sont très corrélées. Cette matrice de distance a des propriétés mathématiques très intéressantes. Cette matrice définit 5 points: A, B, C, D, E qui peuvent être positionnnés sur une hypersphere donc la représentation grpahique de ces points permet de comprendre la matrice de corrélation. Pour cela, on va faire un projection grâce à l’ACP.

Pour savoir si les distances entre les points projetés peuvent être interpretées comme les distances entre les points situés sur l’hypersphere: quand les points projetés sont très proches du cercle correspondant à l’intersection entre le plan principal et l’hypersphere

Interprétation des positions relatives: * proche du cercle ET proche l’un de l’autre ==> les distances entre les points projetés sont une représentation fiable de la corrélation ET les variables sont fortement correllées * proche du cercle ET diamétralement opposés (donc leur distance = 2 x rayon, soit 2). Si d = 2, alors r = -1 les variables sous jacentes sont correlées négativement * proche du cercle ET à 90° par rapport au centre (donc leur distance = \(\sqrt(2)\)) ==> si d = \(\sqrt(2)\) alors r = 0 et donc les variables sont non corrélées (indépendantes)

Attnetion: si un des 2 points est proche du centre, on ne peux plus interptéter les résultats de l’ACP.

En pratique

On voit que: * gravité et dépression sont proches du bord et proche l’une de l’autre: donc elles sont correllées * age et nb enfant sont corrélées * le groupe de variables (age et n efant) est à 90° du groupe de variable (gravité et dépression): elles sont donc globalement indépendantes

pourcentages de variance expliquée relative à l’axe X et Y: x = F1 = 23% var et y = F2 = 17% var. La somme vaut 40% et peut être interpreté comme le pourcentage d’information capturée lors de l’ACP

Combien de variables peuvent être utilisées lors d’une ACP ? on évitera de dépasser 12-15 variables. C’est la malédiction dimensionnelle car l’ACP est une méthode exploratoire multidimensionnelle mais quand il y a trop de vairables, la représentation grpahique n’est plus utilisable

Méthodes dérivées de l’ACP

Représentation spherique de la matrice de corrélation: on projette les points de l’hypersphere sur une sphere en 3D. l’interprétation se fait de la même façon que l’ACP classique.

  • age et n enfant sont fortement corrélés
  • gravité et dépression sont fortement corrélés
  • ces 2 groupes sont à 90° et sont donc indépendants
  • rs et (n enfant et age) sont correlés négativement

ACP focalisée

Quelle est la qualité de représentation de chaque point ? on ne sait pas si les variables sont au bord du cercle ! Pour pallier ce pb, on utilise l’ACP focalisée Très utilie pour 1 vairable à expliquer et plusieurs vairables explicatives

* La variable à expliquer est au centre * entre la variable dep.cons et grav.cons, la corrélation = 0.4. de plus elle est statistiquement significative au seuil de 5% car dep.cons est à l’interieur du cercle rouge qui correspond à la limite de significativité des corrélations au seuil de 5% * dep.cons est symbolisée par un point vert ce qui représente une corrélation positive entre dep.cons et grav.cons. * Le orange indique une corrélation négative * dep.cons, scz.cons, ed, dr sont tous proches les uns des autres donc les variables explicatives sous-jacentes sont statistiquement corrélées. * idem pour age et n enfant. A noter que n.enfant est en deça du cercle rouge, donc statistiquement non corrélées à la gravité de la symptomatologie psychiatrique du détenu. * les paquets (n enfant et age) et (dep.cons, scz.cons, ed, dr) sont à 90°: ces 2 paquets sont donc statistiquement indépendant * rs et (age et n enfant) sont diamétralement opposés donc les variables explicatives sous jacentes sont corrélées négativement

Type de représentation très adaptée quant on envisage de faire une régression linéaire multiple ou une régression logistique. En effet, on a directement: * représentation claire de la variable à expliquer et des variables explicatives * une estimation des relations entre la variable à expliquer et les var explicatives avec la mise en évidence du cercle de significativté * les patterns de corrélation entre les différentes vairables explicatives

Quiz mémoire21

L’analyse en composantes principales est une technique : Qui ne permet pas de faire de tests statistiques

Laquelle de ces affirmations est fausse ? L’analyse en composantes principales : Permet de représenter des relations entre tous types de variables

Laquelle de ces affirmations est fausse ? Quand on interprète les résultats d’une analyse en composantes principales : Des points proches correspondent à des variables fortement corrélées

Laquelle de ces affirmations est fausse ? Une représentation sphérique d’une matrice de corrélation : Produit une représentation moins informative (en terme de variance expliquée) qu’une analyse en composante principale

Laquelle de ces affirmations est fausse ? Une analyse en composantes principales focalisée: Est une technique exclusivement exploratoire (aucune inférence (test) n’étant envisageable)

Sur quelle intuition se base l’ACP et les méthodes graphiques qui en découlent ? Il existe une correspondance entre les variables d’une matrice de corrélation et des points sur une hypersphère

Pourquoi ne peut on pas utiliser une représentation graphique d’une ACP pour un nombre de variables trop important (supérieur à 15) ? les points sur la représentation graphiques se rassemblent au centre du cercle, on ne peut donc rien interpréter

Quels sont les commandes pour effectuer une ACP en 2D ? library(psy); commande mdspca(variable)

Quels sont les commandes pour effectuer une ACP en 3D (représentation sphérique) ? library(psy); commande sphpca()

Quelle affirmation est correcte ? Une ACP focalisée est utile si l’on dispose d’une variable à expliquer et des plusieurs variables explicatives

Chapitre 22: classification ascendante hiérarchique

On parle aussi d’analyse en clusters Son objectif : réaliser des groupes homogènes de sujets ou des groupes de variables corrélées Partitionnement hiérarchique possible des sujets via un arbre * les points 2 et 3 sont regroupés à une hauteur D1 en un point 6 * les points 4 et 5 sont regroupés à une hauteur D2 en un point 7 * le point 1 est fusionné au point 6 à une hauteur D3 en un point 8 * pour finir les points 7 et 8 seront fusionnés à une hauteur égale à D4

il y a plusieurs façons de regrouper les différents points. La méhode la plus utilisée est celle dite de Warb

En principe les points que l on partitionne peuvent etre des variables ou des sujets Ex : On peut vouloir représenter 100 points dans un plan à 3 dimensions pour une table comprenant 100 observations sur 3 variables (et inversement) Pour cela on utilisera Méthode de Ward

Ex : * création d’un vecteur var avec l ensemble des varb que l’on souhaite analyser * classification avec toutes les options nécessaires : * scale : cette fonction centre et divise par l ecart type des variables et permet d’éliminer les pb d hétérogénités des mesures des variables. Cela facilite ainsi la représentation graphique * t : la class porte sur les vraibles et non les sujets * dist : permet de calculer la matrice de distance entre les différents points variables * option ward : permet de déterminer comment agréger les différents points

## The "ward" method has been renamed to "ward.D"; note new "ward.D2"

précisions sur hclust: * scale permet de cnetrer et diviser par l’écart type toutes les variables. * On précise la fonction t qui permet d’activer la classification de variables et non pas de sujets * On utilise la fonction distance qui va calculer la matrice de distance entre les différents points variables * la methode choisie pour le regroupement est celle de Ward

On obtient un arbre classant qui regroupe les variables de manière automatique: * 1 paquet de 6 varb cliniques avec plus particulièrement : 2 varb de tempéramment puis 4 autres varb parmi lesqelles sont regroupées les 2 varb de score * A l écart sont regroupées 2 autres variables non cliniques : age et n.enfant

L’avantage de la CAH est de bien fonctionner avec un nb important de variabl mieux que que l’ACP pour un grand nombre de variable

Représentation graphique des corrélations avec la CAH

Les corr sont symbolisées par les couleurs , plus c’est foncé, plus les variables sont corrélées

Quiz mémoire22

A quoi sert l’analyse ascendante hiérarchique ? L’analyse ascendante hiérarchique permet de déterminer des groupes homogènes de sujets ou des groupes de variables plus fortement corrélées que les autres

Quelle commande utiliser pour effectuer une classification hiérarchique des variables, lorsque ces variables sont en colonnes dans notre matrice des données nommée “data” ? hclust(dist(t(scale(data)))

Quelle commande utiliser pour effectuer une classification hiérarchique des sujets, lorsque ces sujets sont en lignes dans notre matrice des données nommée “data” ? la fonction t porte sur une classification de variables (qui sont en colonne) hclust(dist(scale(data))

Quelle affirmation est vraie ? Contrairement à l’analyse en composante principale, l’analyse ascendante hiérarchique fonctionne bien quand il y a un très grand nombre de variables

Quelle fonction peut-on utiliser pour représenter graphiquement les corrélations dans un grand jeu de données ? heatmap(cor(data)

Quiz exercice5

  1. On souhaite comparer le risque de rechute de la maladie alcoolique dans deux sous-groupes: le groupe des plus de 50 ans (strictement plus de 50 ans, recodé en “1”) et le groupe des moins de 50 ans (50 ou moins, recodé en “0”). Donner la p-value associée au test statistique correspondant (4 chiffres après la virgule): Cette étude correspond à une mesure de durée: durée jusqu’à survenue de l’évenement rechute (ou d’abstinence) A noter que cette durée est dite censurée. Cad, que on n’est pas certain d’avoir une rechute pendant la durée de l’étude (la rechute peux se faire très tardivement ou pas du tout). Pour illustrer la réponse on peut utiliser le data.frame alc: p= 0.0219
## 'data.frame':    125 obs. of  6 variables:
##  $ t      : int  121 121 40 39 66 64 5 30 34 5 ...
##  $ SEVRE  : int  0 0 0 0 0 0 1 0 0 0 ...
##  $ AGE    : int  53 52 45 48 45 42 35 35 41 37 ...
##  $ SEXE   : int  1 2 2 1 1 1 1 1 1 1 ...
##  $ EDVNEG : int  0 0 0 1 0 0 0 0 0 0 ...
##  $ AGE.BIN: num  1 1 0 0 0 0 0 0 0 0 ...
##            alc$AGE
## alc$AGE.BIN 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
##        0     1  1  4  2  5  4  2  2  5  4  3  4  4  4  6  8  1  7  4  2  0
##        1     0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  8
##        <NA>  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
##            alc$AGE
## alc$AGE.BIN 52 53 54 55 56 57 58 59 60 62 63 64 65 <NA>
##        0     0  0  0  0  0  0  0  0  0  0  0  0  0    0
##        1     3  6  5  4  5  4  2  3  2  2  5  2  1    0
##        <NA>  0  0  0  0  0  0  0  0  0  0  0  0  0    0
## 
##  0  1 
## 73 52
## Call:
## survdiff(formula = Surv(t, SEVRE) ~ AGE.BIN, data = alc)
## 
##                          N Observed Expected (O-E)^2/E (O-E)^2/V
## AGE.BIN=Moins de 50 ans 73       21     15.1      2.30      5.25
## AGE.BIN=Plus de 50 ans  52        6     11.9      2.92      5.25
## 
##  Chisq= 5.3  on 1 degrees of freedom, p= 0.0219
  1. On souhaite tester l’association entre le risque de rechute de la maladie alcoolique et les variables SEXE, AGE et l’interaction entre les variables SEXE et AGE. Donner la p-value associée à l’interaction entre les variables SEXE et AGE dans le test correspondant (2 chiffres après la virgule):
## Call:
## coxph(formula = Surv(t, SEVRE) ~ AGE + SEXE + SEXE * AGE, data = alc)
## 
##             coef exp(coef) se(coef)     z    p
## AGE       0.0317    1.0322   0.0873  0.36 0.72
## SEXE      3.2147   24.8958   3.3685  0.95 0.34
## AGE:SEXE -0.0711    0.9313   0.0763 -0.93 0.35
## 
## Likelihood ratio test=4.96  on 3 df, p=0.175
## n= 125, number of events= 27

p-value=0.35

  1. Le dataframe “exdata” contient des variables quantitatives et ordonnées. Il ne compte par ailleurs que très peu de données manquantes. Pour calculer la matrice de corrélation des variables de “exdata” et afficher ces corrélations avec 2 décimales, quelle instruction faut-il utiliser ? round(cor(exdata, use = ‘pairwise’), digits = 2)
  1. Pour représenter graphiquement la matrice de corrélation des variables de “exdata” à l’aide d’une analyse en composantes principales, quelle instruction faut-il utiliser ? mdspca(exdata)
  1. Toujours pour les variables de “exdata”, on se propose de réaliser une classification hiérarchique avec la métrique de Ward et de stocker le résultat obtenu dans l’objet appelé ‘cah’. Quelle commande faut-il utiliser ? cah <- hclust(dist(t(scale(exdata))), method = ‘ward’)
  1. Représentez graphiquement cette classification hiérarchique. plot(cah)

Devoir évalué par les pairs (3/3) (échéance le 17 oct 2018)

voir https://bookdown.org/connect/#/apps/1986/access/347

Notes et Bookmarks

URL Description
http://larmarange.github.io/analyse-R/rmarkdown-les-rapports-automatises.html Présentation de Markdown
https://www.calvin.edu/~rpruim/courses/s341/S17/from-class/MathinRmd.html Syntaxe Markdown pour les expressions mathématiques