Analyse des données 295
Chapitre 14
Dans cette formule,
n
est la longueur des deux variables,
nc
, le nombre de paires
concordantes et
nd
, le nombre de paires discordantes. Pour calculer les corrélations
avec R, vous disposez de la fonction
cor
, qui permet d’effectuer chacune de ces
mesures de corrélation que nous venons d’évoquer:
cor(x, y = NULL, use = "everything",
method = c("pearson", "kendall", "spearman"))
Vous pouvez calculer les corrélations entre deux vecteurs (désignés par
x
et
y
),
sur un data frame ou sur une matrice; dans ces deux cas,
y=NULL
et
cor
calcule-
ront la corrélation entre chaque paire de variables pour renvoyer une matrice des
résultats.
Le paramètre
method
précise la formule utilisée pour calculer la corrélation et
use
indique comment traiter les valeurs
NA
: si vous voulez que la fonction déclenche
une erreur en présence de valeurs
NA
, utilisez
use="all.obs"
; si vous voulez qu’elle
renvoie
NA
si l’un des éléments est
NA
, choisissez
use="everything"
; pour ne pas
tenir compte des valeurs
NA
, choisissez
use="complete.obs"
; pour ne pas tenir
compte des valeurs
NA
mais renvoyer
NA
si tous les éléments valent
NA
, utilisez
use="na.or.complete"
; enn, pour ne pas tenir compte des paires dont au moins
une des valeurs est
NA
, choisissez
use="pairwise.complete.obs"
.
Examinons les données sur les naissances de 2006 que nous avions déjà utilisées
auparavant. Plus précisément, nous voulons savoir si la prise de poids de la mère
a un lien avec le poids du bébé. Commençons par ne sélectionner que les poids de
naissance et les prises de poids corrects. Nous exclurons également les naissances
prématurées (j’ai exclu les termes de moins de 35semaines bien que, technique-
ment, ce ne soient pas nécessairement des prématurés). Enn, nous ne gardons que
les naissances d’enfants uniques:
> births2006.cln <- births2006.smpl[
+ !is.na(births2006.smpl$WTGAIN) &
+ !is.na(births2006.smpl$DBWT) &
+ births2006.smpl$DPLURAL=="1 Single" &
+ births2006.smpl$ESTGEST>35,]
Examinons d’abord la relation entre ces deux variables. Comme il y a 3 232 884
observations, un nuage de points normal serait trop difcile à lire. C’est la raison
pour laquelle nous préférons utiliser
smoothScatter
:
> smoothScatter(births2006.cln$WTGAIN,births2006.cln$DBWT)
Le diagramme obtenu est celui de la Figure 14.2. En l’étudiant, nous pouvons nous
attendre à constater une légère corrélation (nous n’en attendons pas une très forte à
cause de la forte concentration au centre, mais celle-ci est peu inclinée). Calculons
la corrélation de Pearson:
> cor(births2006.cln$WTGAIN,births2006.cln$DBWT)
[1] 0.1750655
Livre R-Essentiel.indb 295 06/10/11 18:20
© 2011 Pearson Education France – R, L'essentiel – Joseph Adler