Analyse complète d un problème sous R

Documents pareils
Lire ; Compter ; Tester... avec R

distribution quelconque Signe 1 échantillon non Wilcoxon gaussienne distribution symétrique Student gaussienne position

Introduction aux Statistiques et à l utilisation du logiciel R

Introduction à la statistique non paramétrique

RAPPORT D ACTIVITE AIDEA Sommaire

Gestion des données avec R

TP de Statistiques: Utilisation du logiciel R

EXCEL et base de données

Initiation à l analyse en composantes principales

SAS de base : gestion des données et procédures élémentaires

Premiers pas avec SES-Pegase (version 7.0) SES : Un Système Expert pour l analyse Statistique des données. Premiers pas avec SES-Pegase 1

Statistiques. Rappels de cours et travaux dirigés. Master 1 Biologie et technologie du végétal. Année

Logiciel XLSTAT version rue Damrémont PARIS

TABLE DES MATIERES. C Exercices complémentaires 42

Didacticiel - Études de cas. Description de quelques fonctions du logiciel PSPP, comparaison des résultats avec ceux de Tanagra, R et OpenStat.

Microsoft Excel : tables de données

.( /.*!0) %1 2"+ %#(3004) 05' 203 .(.*0"+ ) '!2"+ %#(30+ 0!"%) 4!%2) 3 '!%2"+ %#(30! &' 4!!% .+.*0%!!'!(!%2" !

Analyse de variance à deux facteurs (plan inter-sujets à deux facteurs) TP9

Exemples d Analyses de Variance avec R

1 Introduction - Qu est-ce que le logiciel R?

Cours 1. I- Généralités sur R II- Les fonctions de R et autres objets III-Les vecteurs

Statistiques Canadiennes sur le Cancer, et HMR sur le poumon

Étude des flux d individus et des modalités de recrutement chez Formica rufa

Volume 1 : Epidémiologie - Etudes des facteurs de risques

Partie II Cours 3 (suite) : Sécurité de bases de données

Exemple PLS avec SAS

Analyse de la variance Comparaison de plusieurs moyennes

TD : Codage des images

CONFIGURATION DU SERVEUR DE MAILS EXIM. par. G.Haberer, A.Peuch, P.Saade

Aide-mémoire de statistique appliquée à la biologie

Les tableaux croisés dynamiques

TABLEAU CROISE DYNAMIQUE

Biostatistiques : Petits effectifs

Installation et utilisation de Cobian Backup 8

EXCEL Les tableaux croisés dynamiques

Le Fax par Mail : Mode d emploi

UFR de Sciences Economiques Année TESTS PARAMÉTRIQUES

Régression linéaire. Nicolas Turenne INRA

Audit SEO. I / Les Tranquilles d Oléron

COMPARAISON DE LOGICIELS TESTANT L INDEPENDANCE DE VARIABLES BINAIRES

Recherche dans un tableau

Quelques précisions concernant les commandes de Ticket Restaurant électronique par fichier Excel

Encryptions, compression et partitionnement des données

INF6304 Interfaces Intelligentes

FORMULAIRE DE STATISTIQUES

Module 5 : Lier des classeurs

Importer un fichier CSV

Généralités. Sans copie de sauvegarde sur support externe, vous ne pourrez jamais récupérer vos multiples encodages. 1.1 Sauvegarde des données

La classification automatique de données quantitatives

Saisie et d analyse des questionnaires de sortie

Exercices sur SQL server 2000

LES TYPES DE DONNÉES DU LANGAGE PASCAL

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Service d Hématologie clinique et Thérapie cellulaire Bâtiment Médico-Chirurgical - 3 ème et 4 ème étages

FIMA, 7 juillet 2005

Statistique Descriptive Élémentaire

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Statistiques avec la graph 35+

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

1 Modélisation d être mauvais payeur

quelques Repères pour Doctorants

Exemples d application

Une introduction au langage R

ACTUARIAT 1, ACT 2121, AUTOMNE 2013 #4-5

Le PTI, cet incompris!

Caisse Nationale de l'assurance Maladie des Travailleurs Salariés Sécurité Sociale

Fiche descriptive de l indicateur : Tenue du dossier anesthésique (DAN)

Statistiques Descriptives à une dimension

Le backup LOGOSw (Backup interne)

Les ateliers du Resclin. Préparation des données issues d Epi-Info en utilisant le tableur Excel

Université Ibn Zohr Excel Résume de cours

La place de SAS dans l'informatique décisionnelle

Principe d un test statistique

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

Eq uip ez votre futu r

Techniques d interaction dans la visualisation de l information Séminaire DIVA

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

Utilisation du Logiciel de statistique SPSS 8.0

Statistiques canadiennes sur le cancer 2014 Sujet particulier : les cancers de la peau

2 Serveurs OLAP et introduction au Data Mining

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

INTRODUCTION AU LOGICIEL R

NAS 254 Sauvegarde cloud

Guide de l utilisateur. Synchronisation de l Active Directory

Objectif. Cette formation doit permettre au client d être autonome dans la création de ses rapports avancés en utilisant la fonctionnalité Excel +.

Analyse des durées de vie avec le logiciel R

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF

T de Student Khi-deux Corrélation

Principes de mathématiques 12 SÉRIE DE PROBLÈMES. Septembre Student Assessment and Program Evaluation Branch

Une introduction. Lionel RIOU FRANÇA. Septembre 2008

R, Bonnes pratiques. Christophe Genolini

La version 3: 100% conforme aux dernières exigences de la DGI au Maroc. Edition Déclaration Télé-déclaration des liasses fiscales

Utilisation de l outil lié à MBKSTR 9

LE GRAND LIVRE Du. Pr Jean-Jacques Altman Dr Roxane Ducloux Dr Laurence Lévy-Dutel. Prévenir les complications. et surveiller la maladie

Faire un semi variograme et une carte krigée avec surfer

Analyse Concurrentielle Retrospect et ses concurrents

Saisie de la déclaration de cotisations FSPOEIE

Transcription:

Analyse complète d un problème sous R Thème de l étude : Projet d enfants chez des patients atteints de cancer à 2 ans du diagnostic Facteurs associés au d enfant chez des femmes de moins de 45 ans ///////////////////////// CORRECTION ///////////////////////// 1) Fichier Excel Importez sur votre disque dur le fichier «data44.xls» (qui est mis à votre disposition à partir du lien «Fichiers de données» dans la partie «Nota Bene / Boîte à outils»). a) Quelle est la nature des variables étudiées? Variables quantitatives : age, n_enfants. PCS, MCS Variables qualitatives : cancer, sexe, enfant, menopause, sterilite, fertilite, Remarque : enfant, menopause, sterilite, fertilite, sont des variables numériques qui prennent les valeurs 0 ou 1 qui correspondent aux valeurs qualitatives «Non» et «Oui». b) Que remarquez vous en survolant très rapidement le fichier.xls? Beaucoup de cases vides (= données manquantes) 281 lignes = 280 sujets 2) Vérification des données dans R a) Ouvrez le logiciel R et importez le fichier «data44». En affichant le tableau de données dans R que remarquez vous en le survolant très rapidement? Après avoir enregistré le fichier Excel au format.csv, ouvrir le fichier dans R data44 <- read.csv2("c:\\users\\p058571\\documents\\cours\\2012-2013\\masters EISIS MQERS SPSD\\STA- UNIV\\Data44.csv", header=true) Vérifier l affichage data44[,] Les cases vides sont remplacées dans R par NA (Not Available). Il y a bien 280 sujets. b) Vérifiez que la sélection des patientes à étudier selon les critères prévus (âge < 45 ans, sexe féminin) a été convenablement réalisée, à l aide de calcul et par méthode graphique? Attacher le fichier attach(data44) Descriptif simple des données et vérification de la cohérence pour sexe et age : summary(sexe) ou table(sexe) sexe F M 279 1 summary(age) 19.92 35.36 39.98 38.64 42.55 57.89 Graphiques possibles : pie(summary(sexe)) ou barplot(summary(sexe)) hist(age) ou boxplot(age) Problème pour les 2 variables : 1 homme et 1 sujet avec un âge > 45 ans. c) Recherchez la ligne de l individu trop âgé pour être inclus et affichez ses caractéristiques. data44[age>45,] ou subset(data44, age > 45) ou which.max(age) [1] 224 et data44[224,] n_ident cancer age sexe enfant n_enfants menopause sterilite fertilite PCS MCS 224 4 467 Sein 57.89 M 1 3 NA 0 35.6 33.36 1

ligne 224 :1 homme avec un cancer du sein âgé de 58 ans à exclure (n_ident = 4467) d) Sélectionnez un nouveau sous-tableau sans homme et vérifiez que les variables âge et sexe respectent maintenant les critères fixés. Création d un nouveau tableau en précisant la condition souhaitée entre crochet data44f <- data44[sexe=="f",] detach(data44) attach(data44f) summary(sexe) F M 279 0 summary(age) 19.92 35.34 39.90 38.57 42.55 44.96 OK : plus d homme et âge maximum = 44,96 e) Vérifiez la cohérence entre les variables enfant (Avez-vous des enfants?) et n_enfants (nombres d'enfants). table(enfant,n_enfants) n_enfants enfant 1 2 3 4 5 6 0 0 0 0 0 0 0 1 63 99 45 12 2 2 Pas de problème : dans le tableau croisé, les sujets sans enfants n ont pas d enfants!!! 3) Statistiques Descriptives dans R a) Calculez la proportion de nullipares (0 enfant) et de primipares (1 seul enfant) dans l échantillon. table(enfant) enfant 56 223 prop.table(table(enfant),) enfant 0.201 0.799 Il y a 20% de nullipares Remarque : pour réduire le nombre de décimales : options(digits=3) table(n_enfants)/length(n_enfants) ou table(n_enfants)/279 n_enfants 1 2 3 4 5 6 0.22581 0.35484 0.16129 0.04301 0.00717 0.00717 Il y a 23% de primipares (attention ici ne pas utiliser prop.table car la variable n_enfants n est renseignée que pour les 223 femmes ayant répondu oui à la question «avez-vous des enfants?») b) Quel est le nombre moyen d'enfants dans l'échantillon? Calculez la variance et proposez une représentation graphique. summary(n_enfants) NA's 1..0 2.0 2.1 3.0 6.0 56 Le minimum pour la variable vaut 1. Il y a ici 56 données manquantes qui correspondent aux femmes sans enfants. Il faut donc créer une nouvelle variable : n_enfants2 <- n_enfants n_enfants2[enfant=="0"] <- 0 table(n_enfants2) n_enfants2 2 3 4 5 6 56 63 99 45 12 2 2 Ca marche!!! summary(n_enfants2) 0.0.00 2.0.67 2.00 6.00 var(n_enfants2) [1] 1.44 Le nombre moyen d enfant est 1,67 avec une variance de 1,44. 2

Graphiques possibles : boxplot(n_enfants2, main="nombre d enfants") barplot(table(n_enfants2), xlab="nombre d enfants", ylab="fréquence absolue") barplot(prop.table(table(n_enfants2)), xlab="nombre d enfants", ylab="fréquence relative") pie(table(n_enfants2), main="nombre d enfants") c) Quelle est la localisation cancéreuse la plus fréquente? Proposez un graphique de l ensemble des localisations. table(cancer) Autres cancers Colon-Rectum Leucémies 12 9 14 Lévres-Bouche-Pharynx; Larynx; Oesophage Lymphomes Myélomes 5 7 1 Peau Sein Thyroïde 19 135 37 Utérus;Ovaire Vessie; Rein 34 6 C est le cancer du sein le plus fréquent (n=135) pie(table(cancer), main="localisations cancéreuses") barplot(table(cancer), main="localisations cancéreuses", horiz=true, cex.names=0.7, las=2) Remarque : Les options de la commande barplot permettent de rendre plus lisibles l affichage des localisations cancéreuses. d) Combien de femmes expriment un de maternité future? Combien ont répondu à cette question? table() 129 46 sum(table()) ou length(na.omit()) [1] 175 46 femmes expriment ce de maternité parmi 175 répondantes e) Parmi les femmes qui ont répondu à la question sur le de maternité, quelle proportion exprime un futur? prop.table(table(),) 0.737 0.263 26% des femmes ayant répondu expriment ce de maternité f) Combien y a t il de données manquantes pour la variable (" d'enfants")? La variable fertilité permet-t elle d'expliquer ces données manquantes? Calcul des données manquantes : plusieurs méthodes possibles (la fonction is.na répond Vrai/Faux selon si une case est vide ou pas) length() - length(na.omit()) ou 279 sum(table()) ou 279 sum(table()) [1] 104 ou table(is.na()) FALSE TRUE 175 104 ou summary() NA's 0.000 0.000 0.000 0.263 1.00.0004.000 Il y a 104 données manquantes table(,fertilite) fertilite 0 29 1 0 46 Au vu du tableau croisé, la question sur un éventuel d enfant n était posée qu aux femmes ayant une fertilité préservée. 3

4) Analyse finale avec tests statistiques dans R a) Créez un nouveau sous-tableau des 175 femmes de moins de 45 ans ayant une fertilité préservée. Création d un nouveau sous-tableau des 175 femmes de moins de 45 ans fertiles data44ff <- data44f[fertilite=="1",] detach(data44f) attach(data44ff) summary() 0.000 0.000 0.000 0.263 1.00.000 Il n y a plus de données manquantes pour la variable. Normalité des distributions : b) L âge est-il «normalement» distribué (test + illustration graphique)? ks.test(age,"pnorm",mean(age),sd(age)) One-sample Kolmogorov-Smirnov test data: age D = 0.1112, p-value = 0.02644 alternative hypothesis: two-sided On ne peut pas considérer que l âge suit une loi normale. hist(age) ou qqnorm(age,col="blue"); qqline(age) ou boxplot(age) Graphiquement, il y a un décalage vers les âges plus élevés. Scores de qualité de vie physique et mentale (PCS/MCS) : c) Les 2 composantes de la qualité de vie (physique et mentale) sont-elles liées? plot(pcs, MCS); abline(lm(mcs~pcs)) cor.test(pcs, MCS, method="pearson") Pearson's product-moment correlation data: PCS and MCS t = 2.88, df = 173, p-value = 0.004533 alternative hypothesis: true correlation is not equal to 0 0.0674 0.3508 cor 0.214 La corrélation est positive, significativement différente de 0, mais faible (0,2) d) A 2 ans du diagnostic de cancer, y-a t il chez ces femmes une composante de qualité de vie plus altérée qu une autre (test apparié : «paired=true»)? summary(pcs) 23.3 41.9 49.4 48.0 55.5 63.8 summary(mcs) 13.5 35.0 44.6 43.1 51.4 64.3 t.test(mcs,pcs,paired=t) Paired t-test data: MCS and PCS t = -5.29, df = 174, p-value = 3.721e-07-6.74-3.07 mean of the differences -4.91 boxplot(pcs, MCS) La composante physique de la qualité de vie est moins altérée (significativement supérieure; p<0,001), le test statistique utilisé est apparié car on ne compare pas 2 groupes différents mais 2 groupes avec les mêmes sujets. e) La qualité de vie des patientes est-elle différente selon l existence d un futur d enfant? (2 séries d analyse pour les 2 composantes physique et mentale de la QDV) boxplot(pcs ~ ) var.test(pcs[==0], PCS[==1]) 4

F test to compare two variances data: PCS[ == 0] and PCS[ == 1] F = 1.23, num df = 128, denom df = 45, p-value = 0.4327 alternative hypothesis: true is not equal to 1 0.735 1.940 1.23 t.test(pcs ~, var.equal=true) Two Sample t-test data: PCS by t = -0.813, df = 173, p-value = 0.4175-4.29 1.79 47.7 48.9 On ne met pas en évidence de différence significative pour la composante physique de qualité de vie entre les 2 groupes ( ou pas de maternité future). boxplot(mcs ~ ) var.test(mcs[==0], MCS[==1]) F test to compare two variances data: MCS[ == 0] and MCS[ == 1] F = 1.42, num df = 128, denom df = 45, p-value = 0.1792 alternative hypothesis: true is not equal to 1 0.849 2.241 1.42 t.test(mcs ~, var.equal=true) Two Sample t-test data: MCS by t = -0.76, df = 173, p-value = 0.4485-4.95 2.20 42.7 44.1 On ne met pas non plus en évidence de différence significative pour la composante mentale de qualité de vie entre les 2 groupes ( ou pas de maternité future) Maternité préalable et souhaitée : f) Existe-t-il un lien entre le fait d avoir déjà des enfants et un futur de maternité? - En catégoriel (2 classes) table(enfant,) enfant 6 21 1 113 25 prop.table(table(enfant,),1) enfant 0 0.432 0.568 1 0.819 0.181 chisq.test(enfant,) Pearson's Chi-squared test with Yates' continuity correction data: enfant and X-squared = 20.5, df = 1, p-value = 5.86e-06 chisq.test(enfant,)$expected enfant 0 27.3 9.73 1 101.7 36.27 5

Test applicable (Cij>5) : Les femmes n ayant pas encore eu d enfant expriment plus souvent un d enfant (57% vs. 18% ; p<0,001). Graphique : old.par <- par(no.readonly = TRUE) par(mfrow = c(1, 2)) barplot(prop.table(table([enfant==0]),), ylim=c(0,1), ylab="fréquence relative", col="blue",main="enfant = 0", sub="projet : Non/Oui") barplot(prop.table(table([enfant==1]),), ylim=c(0,1), ylab=" Fréquence relative ",col="red",main="enfant >= 1", sub="projet : Non/Oui") par(mfrow = c(1, 1)) par(old.par) g) Les femmes qui expriment un futur de maternité ont-elles en moyenne le même âge que celles qui ne souhaitent plus d enfants? boxplot(age ~, main="age") var.test(age[==0], age[==1]) F test to compare two variances data: age[ == 0] and age[ == 1] F = 0.4512, num df = 128, denom df = 45, p-value = 0.0005507 alternative hypothesis: true is not equal to 1 0.270 0.712 0.451 Egalité des variances non respectée (différence significative p<0.05), il faut utiliser test de Student avec variance inégale : t.test(age ~, var.equal=false) Welch Two Sample t-test data: age by t = 8.53, df = 60.1, p-value = 6.139e-12 5.77 9.31 39.8 32.3 Les femmes qui ont un futur de maternité sont en moyenne plus jeunes (p<0.001) h) Existe-t-il un lien entre l âge des femmes le fait d avoir déjà un(des) enfant(s)? boxplot(age ~ enfant, main="age") var.test(age~ enfant) F test to compare two variances data: age by enfant F = 2.9085, num df = 36, denom df = 137, p-value = 8.877e-06 alternative hypothesis: true is not equal to 1 1.79 5.12 2.91 Egalité des variances non respectée (différence significative p<0.05), il faut utiliser test de Student avec variance inégale : t.test(age ~ enfant, var.equal=false) Welch Two Sample t-test data: age by enfant t = -3.4356, df = 42.847, p-value = 0.001325-6.93-1.80 34.4 38.7 Les femmes qui n ont pas d enfant sont en moyenne plus jeunes (p<0.001) 6

Il est maintenant nécessaire de recourir à une stratification (ou à des méthodes multivariées) pour savoir qu estce qui «explique» le d enfant :l âge, le fait d avoir déjà des enfants ou les deux!!! i) En étudiant séparément les femmes n ayant pas d enfant et chez celles qui en ont au moins un. Les femmes qui expriment un futur de maternité ont-elles en moyenne le même âge que celles qui ne souhaitent plus d enfants? Il faut soit recréer encore 2 sous-tableaux (femmes sans enfant, femmes avec enfant), soit pouvoir donner des doubles conditions entre crochet (à l aide du ET qu on écrit «&» dans R), soit utiliser le «~». by(age[enfant=="0"],[enfant=="0"],summary) INDICES: 0 26.28 34.97 41.56 38.61 42.77 44.96 ------------------------------------------------------------------------ INDICES: 1 19.92 28.81 31.02 31.12 34.78 43.11 by(age[enfant=="1"],[enfant=="1"],summary) INDICES: 0 31.08 37.31 40.50 39.95 42.89 44.63 ------------------------------------------------------------------------ INDICES: 1 25.33 31.10 33.82 33.20 35.38 42.98 wilcox.test(age[enfant=="0" & =="0"], age[enfant=="0" & =="1"]) OU wilcox.test (age[enfant=="0"] ~ [enfant=="0"]) Wilcoxon rank sum test data: age[enfant == "0"] by [enfant == "0"] W = 268, p-value = 0.001656 alternative hypothesis: true location shift is not equal to 0 wilcox.test (age[enfant=="1"] ~ [enfant=="1"]) Wilcoxon rank sum test with continuity correction data: age[enfant == "1"] by [enfant == "1"] W = 2536.5, p-value = 5.269e-10 alternative hypothesis: true location shift is not equal to 0 Qu elles aient déjà eu un enfant ou pas, les femmes qui ont un futur de maternité sont en moyenne plus jeunes (p<0.001) Il semble donc que le jeune âge et l absence d enfants préalables puisse être 2 facteurs indépendamment associés au futur d avoir un premier ou un nouvel enfant chez des patientes de moins de 45 ans atteintes d un cancer et ayant une fertilité préservée à 2 ans de leur diagnostic. 7