14 Analyse des données Ce chapitre décrit un certain nombre de techniques pour analyser les données avec R. La plupart des fonctions décrites ici permettent de préparer les données pour d’autres analyses ou sont les briques de base pour d’autres analyses. Statistiques descriptives R propose plusieurs fonctions pour calculer les statistiques descriptives. La fonction mean permet d’obtenir la moyenne d’un vecteur, tandis que les fonctions min et max renvoient, respectivement, la valeur minimale et maximale. À titre d’exemple, nous utiliserons le jeu de données dow30 que nous avions créé dans la section "Exemple plus complexe" du Chapitre 12. Ces données sont également ­disponibles dans le package nutshell : > library(nutshell) > data(dow30) > mean(dow30$Open) [1] 36.24574 > min(dow30$Open) [1] 0.99 > max(dow30$Open) [1] 122.45 Dans chacune de ces fonctions, le paramètre na.rm précise le traitement réservé aux valeurs NA ; par défaut, si un seul élément du vecteur vaut NA, ces fonctions renvoient NA. Avec na.rm=TRUE, les valeurs NA sont ignorées : > mean(c(1,2,3,4,5,NA)) [1] NA > mean(c(1,2,3,4,5,NA),na.rm=TRUE) [1] 3 Vous pouvez également supprimer les valeurs extrêmes lorsque vous utilisez la fonction mean. Pour ce faire, servez-vous du paramètre trim pour préciser la fraction des observations à ôter à chaque extrémité du vecteur. © 2011 Pearson Education France – R, L'essentiel – Joseph Adler Livre R-Essentiel.indb 291 06/10/11 18:20 292 Partie IV Statistiques avec R > mean(c(-1,0:100,2000)) [1] 68.4369 323 > mean(c(-1,0:100,2000),trim=0.1) [1] 50 Pour calculer le minimum et le maximum en une seule opération, utilisez la fonction range, qui renvoie un vecteur contenant ces deux valeurs : > range(dow30$Open) [1] 0.99 122.45 La fonction quantile permet, quant à elle, de renvoyer les valeurs à différents percentiles (indiqués par le paramètre probs) : > quantile(dow30$Open, probs=c(0,0.25,0.5,0.75,1.0)) 0% 25% 50% 75% 100% 0.990 19.655 30.155 51.680 122.450 Ce résultat spécifique (minimum, 25e percentile, médiane, 75e percentile et maximum) peut être obtenu plus simplement, grâce à la fonction fivenum : > fivenum(dow30$Open) [1] 0.990 19.650 30.155 51.680 122.450 Pour obtenir l’écart interquartile (la différence entre les valeurs du 25e et du 75e percentile), utilisez la fonction IQR : > IQR(dow30$Open) [1] 32.025 Chacune de ces fonctions a sa propre utilité mais peut également être utilisée avec apply, tapply ou une autre fonction d’agrégation pour calculer les statistiques d’un data frame ou des sous-ensembles d’un data frame. La fonction la plus commode pour obtenir un récapitulatif s’appelle summary. C’est une fonction générique qui peut s’appliquer à des data frames, des matrices, des tables, des facteurs et d’autres objets. Voici, par exemple, ce qu’elle produit lorsqu’on l’applique au jeu de données dow30 : > summary(dow30) symbol Date MMM : 252 2008-09-22: 30 AA : 252 2008-09-23: 30 AXP : 252 2008-09-24: 30 T : 252 2008-09-25: 30 BAC : 252 2008-09-26: 30 BA : 252 2008-09-29: 30 (Other):5970 (Other) :7302 Low Close Min. : 0.27 Min. : 0.75 Open Min. : 0.99 1st Qu.: 19.66 Median : 30.16 Mean : 36.25 3rd Qu.: 51.68 Max. :122.45 High Min. : 1.01 1st Qu.: 20.19 Median : 30.75 Mean : 36.93 3rd Qu.: 52.45 Max. :122.88 Volume :1.336e+06 Min. Adj.Close Min. : 0.75 © 2011 Pearson Education France – R, L'essentiel – Joseph Adler Livre R-Essentiel.indb 292 06/10/11 18:20 Chapitre 14 Analyse des données 1st Qu.: 19.15 Median : 29.55 Mean : 35.53 3rd Qu.: 50.84 Max. :121.62 1st Qu.: 19.65 Median : 30.10 Mean : 36.24 3rd Qu.: 51.58 Max. :122.11 1st Qu.:1.111e+07 Median :1.822e+07 Mean :5.226e+07 3rd Qu.:4.255e+07 Max. :2.672e+09 293 1st Qu.: 19.38 Median : 29.41 Mean : 35.64 3rd Qu.: 50.97 Max. :122.11 Comme vous pouvez le constater, summary donne des informations sur chaque variable du data frame. Pour les valeurs numériques, elle montre les valeurs minimale, du 1er quartile, de la médiane, de la moyenne, du 3e quartile et maximale. Pour les facteurs, elle affiche le nombre des valeurs les plus fréquentes (les moins fréquentes sont regroupées dans la catégorie "Other"). Elle ne produit rien d’utile pour les valeurs caractères. La fonction stem est un outil commode pour examiner en mode texte la distribution d’un vecteur numérique : stem(x, scale = 1, width = 80, atom = 1e-08) Le paramètre x est le vecteur concerné, scale contrôle la longueur du tracé, width, sa largeur et atom est un facteur de tolérance. Examinons par exemple les tentatives de transformation pendant la saison 2005 de la NFL. Plus précisément, nous voulons étudier les distances des tentatives pour les transformations ratées. Nous utiliserons donc la fonction subset pour ne sélectionner que les transformations ratées, puis nous afficherons les distances (en yards) des tentatives qui leur correspondent : > stem(subset(field.goals, play.type=="FG no")$yards) The decimal point is at the | 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 | | | | | | | | | | | | | | | | | | | | | | 0 00 0000000 0000000 00000000 000 0000 00000000000000 0000000000 0000000000000000 000000000000 000000000000000000 000000000000000000 000000000000 0000000000000000000 0000 000 00 00 0 © 2011 Pearson Education France – R, L'essentiel – Joseph Adler Livre R-Essentiel.indb 293 06/10/11 18:20 294 Partie IV Statistiques avec R Corrélation et covariance Lorsque l’on analyse des données, il est très fréquent de vouloir savoir si deux variables sont corrélées. Informellement, la corrélation répond à la question "si j’augmente (ou diminue) x, est-ce que y augmentera (ou diminuera), et de combien ?". Formellement, elle mesure la dépendance linéaire de deux variables quelconques. Ses valeurs varient de –1 à 1 ; 1 signifie que l’une des variables est une fonction linéaire positive de l’autre, 0, que les deux variables ne sont pas corrélées du tout et -1, que l’une des variables est une fonction linéaire négative de l’autre (les deux progressent dans des directions totalement opposées ; voir Figure 14.1). Figure 14.1 Corrélation. La mesure de corrélation la plus utilisée est le coefficient de corrélation de Pearson (c’est la formule qui se cache derrière la fonction CORREL d’Excel) : r= Â in=1 ( xi – x )( yi – y ) Â in=1 ( xi – x )2 Â in=1 ( yi – y )2 _ _ où x est la moyenne de x et y la moyenne de y. La corrélation de Pearson fonctionne mieux avec des données qui suivent une distribution normale. Une autre fonction de corrélation est le coefficient de corrélation de Spearman, qui est non paramétrique car il ne fait aucune supposition sur la distribution sous-jacente : r= n ( Â xi – yi )–( Â xi )( Â yi ) n ( Â x 2i )–( Â xi )2 n ( Â y 2i )–( Â yi )2 Le tau de Kendall, quant à lui, permet d’exprimer la relation entre deux variables quelconques. Sa formule fonctionne en comparant les rangs des valeurs dans les deux variables, pas en comparant ces variables elles-mêmes : t = 1/ 2ncn–( nn–d 1) © 2011 Pearson Education France – R, L'essentiel – Joseph Adler Livre R-Essentiel.indb 294 06/10/11 18:20 Chapitre 14 Analyse des données 295 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 calculeront 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" ; enfin, 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 35 semaines bien que, techniquement, ce ne soient pas nécessairement des prématurés). Enfin, 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 difficile à 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 © 2011 Pearson Education France – R, L'essentiel – Joseph Adler Livre R-Essentiel.indb 295 06/10/11 18:20 296 Partie IV Statistiques avec R Puis la corrélation de Spearman : > cor(births2006.cln$WTGAIN,births2006.cln$DBWT,method="spearman") [1] 0.1783328 Comme vous pouvez le voir, ces deux mesures indiquent que ces deux variables sont faiblement corrélées. La covariance est un concept intimement lié. Elle est définie par la formule suivante : cov ( x , y) = E [ ( x – E [ x ])( y – E [ x ])] qui est le numérateur de la formule de la corrélation de Pearson. En R, vous pouvez calculer la covariance à l’aide de la fonction cov, qui attend les mêmes paramètres que cor : cov(x, y = NULL, use = "everything", method = c("pearson", "kendall", "spearman")) Si vous disposez d’une matrice de covariance, vous pouvez utiliser la fonction cov2cor pour en déduire la matrice de corrélation. Vous pouvez également calculer les mesures de covariance pondérée à l’aide de la fonction cov.wt : 6000 4000 2000 births2006.cln$DBWT 8000 cov.wt(x, wt = rep(1/nrow(x), nrow(x)), cor = FALSE, center = TRUE, method = c("unbiased", "ML")) 0 20 40 60 80 100 births2006.cln$WTGAIN Figure 14.2 Graphe des poids de naissance en fonction de la prise de poids de la mère. © 2011 Pearson Education France – R, L'essentiel – Joseph Adler Livre R-Essentiel.indb 296 06/10/11 18:20 Chapitre 14 Analyse des données 297 Analyse en composantes principales L’analyse en composantes principales est une autre technique d’étude des données. Elle consiste à transformer un ensemble de variables éventuellement corrélées en un ensemble de variables non corrélées. En R, l’analyse en composantes principales est disponible via la fonction prcomp du package stats : ## Méthode S3 pour la classe ‘formula’: prcomp(formula, data = NULL, subset, na.action, ...) ## Méthode S3 par défaut : prcomp(x, retx = TRUE, center = TRUE, scale. = FALSE, tol = NULL, ...) Voici une description de ses paramètres. Paramètre Description Valeur par défaut formula Formule sans variable de réponse, utilisant les colonnes d’un data frame utilisé dans l’analyse. data Data frame facultatif contenant les données indiquées dans la formule. subset Vecteur facultatif indiquant les observations à inclure dans l’analyse. na.action Fonction indiquant comment traiter les valeurs NA. x Matrice numérique ou complexe fournissant les données de l’analyse. retx Valeur logique précisant s’il faut renvoyer les variables après rotation. TRUE center Valeur logique indiquant si les valeurs doivent être centrées(moyenne=0). TRUE scale Valeur logique précisant si les valeurs doivent être réduites (variance=1). TRUE tol Tolérance en dessous de laquelle les composantes seront ignorées. NULL ... Paramètres supplémentaires passés aux autres méthodes. Essayons l’analyse en composantes principales sur une matrice de données pour les équipes de base-ball. Nous commencerons par charger les données de chaque © 2011 Pearson Education France – R, L'essentiel – Joseph Adler Livre R-Essentiel.indb 297 06/10/11 18:20 298 Partie IV Statistiques avec R équipe pour la période comprise entre 2000 et 2008. Pour cela, nous utiliserons la base de données SQLite du Chapitre 11 et nous extrairons les champs dont nous avons besoin à l’aide d’une requête SQL : > > > + + + + + + + + + + + + + library(RSQLite) drv <- dbDriver("SQLite") con <- dbConnect(drv, dbname=paste(.Library, "/nutshell/data/bb.db", sep="")) team.batting.00to08 <- dbGetQuery(con, paste( ‘SELECT teamID, yearID, R as runs, ‘, ‘ H-"2B"-"3B"-HR as singles, ‘, ‘ "2B" as doubles, "3B" as triples, HR as homeruns, ‘, ‘ BB as walks, SB as stolenbases, CS as caughtstealing, ‘, ‘ HBP as hitbypitch, SF as sacrificeflies, ‘, ‘ AB as atbats ‘, ‘ FROM Teams ‘, ‘ WHERE yearID between 2000 and 2008’ ) ) Vous trouverez également ces informations déjà chargées dans le jeu de données team.batting.00to08 du package nutshell. Nous analyserons bientôt les runs de ces équipes mais, pour le moment, nous allons appliquer l’analyse en composantes principales aux autres variables de la matrice : > batting.pca <- princomp(~singles+doubles+triples+homeruns+ + walks+hitbypitch+sacrificeflies+ + stolenbases+caughtstealing, + data=team.batting.00to08) > batting.pca Call: princomp(formula = ~singles + doubles + triples + homeruns + walks + hitbypitch + sacrificeflies + stolenbases + caughtstealing, data = team.batting.00to08) Standard deviations: Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.8 74.900981 61.871086 31.811398 27.988190 23.788859 12.884291 8.283972 Comp.9 7.060503 9 variables and Comp.7 9.150840 270 observations. © 2011 Pearson Education France – R, L'essentiel – Joseph Adler Livre R-Essentiel.indb 298 06/10/11 18:20 Chapitre 14 Analyse des données 299 La fonction princomp renvoie un objet princomp. Vous pouvez obtenir des informations sur l’importance de chacun des composantes en appelant la fonction summary : > summary(batting.pca) Importance of components: Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Standard deviation 74.9009809 61.8710858 31.8113983 27.98819003 23.78885885 Proportion of Variance 0.4610727 0.3146081 0.0831687 0.06437897 0.04650949 Cumulative Proportion 0.4610727 0.7756807 0.8588494 0.92322841 0.96973790 Comp.6 Comp.7 Comp.8 Comp.9 Standard deviation 12.88429066 9.150840397 8.283972499 7.060503344 Proportion of Variance 0.01364317 0.006882026 0.005639904 0.004096998 Cumulative Proportion 0.98338107 0.990263099 0.995903002 1.000000000 Pour visualiser la contribution de chaque variable aux composantes, utilisez la fonction loadings : > loadings(batting.pca) Loadings: Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9 singles -0.313 0.929 -0.136 0.136 doubles -0.437 0.121 -0.877 -0.100 triples 0.424 0.775 -0.449 homeruns 0.235 -0.383 0.825 0.324 walks 0.914 0.328 0.150 -0.182 hitbypitch -0.989 sacrificeflies 0.321 0.330 0.882 stolenbases 0.131 0.758 0.502 -0.307 -0.232 caughtstealing 0.208 0.104 0.813 -0.521 -0.105 SS loadings Proportion Var Cumulative Var Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 0.111 0.111 0.111 0.111 0.111 0.111 0.111 0.111 0.111 0.111 0.222 0.333 0.444 0.556 0.667 0.778 0.889 1.000 Il existe une fonction plot pour les objets princomp qui affiche un histogramme de la variance par rapport à chaque composante principale : > plot(batting.pca) Le résultat est montré à la Figure 14.3. Une autre fonction utile pour visualiser les composantes principales consiste à utiliser un biplot (représenté à la Figure 14.4) : > biplot(batting.pca,cex=0.5,col=c("gray50","black")) © 2011 Pearson Education France – R, L'essentiel – Joseph Adler Livre R-Essentiel.indb 299 06/10/11 18:20 300 Partie IV Statistiques avec R 1000 2000 3000 4000 5000 0 Variances batting.pca Comp.1 Comp.3 Comp.5 Comp.7 Comp.9 Figure 14.3 Histogramme de batting.pca. −0.1 7 0.0 0.1 500 1000 219 0 0.1 0.0 −0.1 4119 500 1000 singles 188 248 221 269 122 217 121 229 71 232 131 189 13 61 212 159256 101 4 234 181 202 239 49 152 215 257 242 148 93 9 175 211 11 264 253 123 16 118 6 8 98187 157 125 walks 35106226 69 170 218 183 249 262 149 10 29 21 99 1 120 75130 79 97 92251 182235 18 247 191 214 3 194 184 80 263179 30 146 245 117 227186 177 104 stolenbases 190 136 169 162246 91 102 27 193 150 222 doubles 90 25 20 220205 158 254 sacrificeflies 268 37 142 259 160 207 126 88 129 12 triples caughtstealing 38 252 45 164206 199 39 140 43 31 228 hitbypitch 5811617 209 238 homeruns 139 28 185 155 19585127 110 231 81 76 14 128 105 119 51 241 15 216197 270 141 60 56 89 134 44 70210 84 4668 156 67 176 73 42 82 22 40 240 151 64 266 196 59 109 201 111 153 48 86 33 113114 236 178 154 223 32 161 244 36 103 261 147 165 132 198 267 2678 24 72167 166 174 230 47204 55 74 50 34 83 124 137 107 172 250 200 243 171 163 95 168 143 224 135 23 108 144 133 94 52 237173 138 265100 180 208 115 96 203 145 54 192 213 77 258 87 112 65 233 57 260 66 255263225 53 62 5 Comp.2 0 −1000 −500 0.2 −1000 −500 0.2 Comp.1 Figure 14.4 Biplot de batting.pca. Un biplot représente graphiquement les contributions de chaque variable à une paire de composantes principales et montre également sur le même graphique les observations individuelles. Ici, nous voyons la contribution de chaque variable aux composantes 1 et 2 ; les observations individuelles apparaissent en gris pour que l’on voie mieux l’ensemble des projections. Comme vous pouvez le constater, singles et walk sont les principaux contributeurs des deux premières composantes. © 2011 Pearson Education France – R, L'essentiel – Joseph Adler Livre R-Essentiel.indb 300 06/10/11 18:20 Chapitre 14 Analyse des données 301 Nous reviendrons plus en détail sur cet exemple dans la section "Exemple : un modèle linéaire simple" du Chapitre 17. Notez qu’il existe une fonction princomp qui produit le même résultat mais en procédant différemment puisqu’elle calcule les composants principaux en appliquant la fonction eigen sur la matrice de corrélation ou de covariance produite par la fonction cor. Cette fonction a été incluse pour assurer la compatibilité avec S-PLUS (elle produit le même résultat que la fonction équivalente en S-PLUS). Pour plus d’informations sur princomp, consultez son fichier d’aide. Analyse factorielle Dans la plupart des problèmes d’analyse de données, il y a certaines quantités que nous pouvons observer et d’autres que nous ne pouvons pas. Les exemples classiques viennent des sciences sociales : on ne peut pas mesurer directement un concept abstrait comme l’intelligence, mais on peut l’évaluer à l’aide de différents tests. L’analyse factorielle permet d’analyser un ensemble de scores de tests (les valeurs observées) pour essayer de déterminer l’intelligence (la valeur cachée). Elle est disponible en R via la fonction factanal du package stats : factanal(x, factors, data = NULL, covmat = NULL, n.obs = NA, subset, na.action, start = NULL, scores = c("none", "regression", "Bartlett"), rotation = "varimax", control = NULL, ...) Voici une description de ses paramètres. Paramètre Description Valeur par défaut x Formule ou matrice numérique utilisée pour l’analyse. factors Nombre de facteurs à retenir. data Data frame dans lequel évaluer x (si x est une formule). NULL covmat Matrice de covariance (ou liste renvoyée par cov.wt). NULL n.obs Nombre d’observations (si le paramètre covmat a été fourni). NA subset Observations à inclure dans l’analyse. © 2011 Pearson Education France – R, L'essentiel – Joseph Adler Livre R-Essentiel.indb 301 06/10/11 18:20 302 Partie IV Statistiques avec R Paramètre Description na.action Fonction précisant comment traiter les valeurs NA (si x est une formule). start Matrice de valeurs de départ pour l’algorithme. scores Chaîne de caractères indiquant le type de scores à produire. Vous pouvez utiliser scores="none" pour aucun score, scores="regression" pour des scores de Thompson ou "scores="Bartlett" pour des scores de moindres carrés pondérés au sens de Bartlett. rotation Chaîne de caractères nommant la fonction permettant de faire tourner les facteurs. control Liste de valeurs de contrôle pour la détermination des facteurs. Valeur par défaut NULL "varimax" Rééchantillonnage par bootstrap Lorsqu’ils étudient des statistiques, les analystes se demandent souvent si elles sont sensibles à quelques valeurs extrêmes. Obtiendrait-on un résultat similaire si l’on supprimait quelques points ? Quel est l’écart des valeurs pour ces statistiques ? On peut résoudre ce problème en utilisant une technique appelée rééchantillonnage. Formellement, le rééchantillonnage par bootstrap est une technique permettant d’évaluer le biais d’un estimateur. Un estimateur est une statistique calculée à partir d’un échantillon et qui fournit une estimation de la vraie valeur sous-jacente ; c’est souvent une moyenne, un écart-type ou un paramètre caché. Le bootstrap fonctionne en sélectionnant répétitivement des observations quelconques dans un échantillon (avec remplacement) et en recalculant la statistique. En R, vous pouvez utiliser le rééchantillonnage par bootstrap grâce à la fonction boot du package boot : library(boot) boot(data, statistic, R, sim="ordinary", stype="i", strata=rep(1,n), L=NULL, m=0, weights=NULL, ran.gen=function(d, p) d, mle=NULL, simple=FALSE, ...) © 2011 Pearson Education France – R, L'essentiel – Joseph Adler Livre R-Essentiel.indb 302 06/10/11 18:20 Chapitre 14 Analyse des données 303 Les paramètres de boot sont les suivants. Paramètre Description Valeur par défaut data Vecteur, matrice ou data frame contenant les données étudiées. statistic Fonction appliquée à data et qui renvoie un vecteur contenant les statistiques intéressantes. Cette fonction a deux paramètres : les données sources et un vecteur précisant les valeurs à sélectionner à chaque itération du bootstrap. Ce second paramètre est défini par stype. R Nombre d’itérations du bootstrap. sim Chaîne de caractères précisant le type de la simulation : "ordinary", "parametric", "balanced", "permutation" ou "antithetic". "ordinary" stype Chaîne de caractères indiquant ce que représente le second paramètre de la fonction statistic. Ses valeurs possibles sont "i" (indices), "f" (fréquences) et "w" (poids). "i" strata Vecteur d’entiers ou facteur précisant les strates pour les problèmes multi-échantillons. rep(1, n) l Vecteur des coefficients d’influence évalués pour les observations (quand sim="antithetic"). NULL m Nombre de prédictions à chaque itération du bootstrap. 0 weights Vecteur numérique contenant les poids des données. NULL ran.gen Fonction décrivant comment produire les valeurs aléatoires (quand sim="parametric"). mle Second paramètre passé à ran.gen ; généralement, c’est un estimateur du maximum de vraisemblance. NULL simple Méthode pour produire les valeurs aléatoires. simple=TRUE choisit les valeurs à chaque itération, ce qui permet d’économiser de la mémoire, mais est plus lent. FALSE ... Paramètres supplémentaires passés à statistic. function(d, p) d © 2011 Pearson Education France – R, L'essentiel – Joseph Adler Livre R-Essentiel.indb 303 06/10/11 18:20 304 Statistiques avec R Partie IV Comme exemple d’utilisation, étudions des prix de vente de maisons. Généralement, les médias évoquent les prix de vente médians dans une région ; nous allons nous servir d’un bootstrap pour étudier la qualité de la médiane comme estimateur : > b <- boot(data=home.sale.prices.june2008, + statistic = function(d,i) {median(d[i])}, + R=1000) > b ORDINARY NONPARAMETRIC BOOTSTRAP Call: boot(data = home.sale.prices.june2008, statistic = function(d, i) { median(d[i]) }, R = 1000) Bootstrap Statistics : original bias std. error t1* 845000 -3334 23287.27 La fonction boot nous montre donc que la médiane est un estimateur très légè­ rement biaisé. © 2011 Pearson Education France – R, L'essentiel – Joseph Adler Livre R-Essentiel.indb 304 06/10/11 18:20