library(tidyverse)

Une étude a été réalisée sur 100 patients d’un service hospitalier afin de vériér la relation entre le tabac et les problèmes pulmonaires. Pour cela, nous avons demandé à chaque personne son âge, son sexe, sa situation familiale (calibataire, mariée,…), sa consommation de tabac (nombre de cigarettes par jour), la présence de tabagisme passif, et la présence de probléme pulmonaire (par exemple cancer du poumon ou broncho-pneumopathie chronique obstructive) chez cette personne. Les données sont enregistrées dans le fichier tabac.csv.

  1. Récupérer les données __tabac.csv__pour les analyser. Cette première étape peut se faire facilement dans R grace à la fonction d’importation de données read.table() . Par exemple
tableau <- read.table("tabac.csv", sep=",", header=TRUE)

Lesd options de la fonction read.table() parmi les plus importantes :

  1. Quelles sont les variables étudiées ? Quelle est leur nature (qualitative ou quantitative) ?
summary(tableau)
##        ID             age           sexe          situation 
##  Min.   : 0.00   Min.   :20.00   femme:46   celibataire:39  
##  1st Qu.:24.75   1st Qu.:29.75   homme:54   en_couple  :36  
##  Median :49.50   Median :41.00              marie      :20  
##  Mean   :49.50   Mean   :41.38              veuf       : 5  
##  3rd Qu.:74.25   3rd Qu.:52.25                              
##  Max.   :99.00   Max.   :64.00                              
##      tabac      tabagisme_passif probleme_pulmonaire
##  Min.   : 0.0   Mode :logical    Mode :logical      
##  1st Qu.: 0.0   FALSE:84         FALSE:65           
##  Median : 0.0   TRUE :16         TRUE :35           
##  Mean   : 3.9                                       
##  3rd Qu.: 9.0                                       
##  Max.   :14.0
  1. Créer une variable booléenne fumeur indiquant pour chaque individu s’il est ou non fumeur grâce a la commande
tableau1<- tableau  %>% mutate(fumeur = tabac >0)
  1. Calculer les effectifs observées pour le modalités des variables fumeur et probleme pulmonaire puis représenter les distributions de ces variables par les commandes
summary(tableau1)
##        ID             age           sexe          situation 
##  Min.   : 0.00   Min.   :20.00   femme:46   celibataire:39  
##  1st Qu.:24.75   1st Qu.:29.75   homme:54   en_couple  :36  
##  Median :49.50   Median :41.00              marie      :20  
##  Mean   :49.50   Mean   :41.38              veuf       : 5  
##  3rd Qu.:74.25   3rd Qu.:52.25                              
##  Max.   :99.00   Max.   :64.00                              
##      tabac      tabagisme_passif probleme_pulmonaire   fumeur       
##  Min.   : 0.0   Mode :logical    Mode :logical       Mode :logical  
##  1st Qu.: 0.0   FALSE:84         FALSE:65            FALSE:51       
##  Median : 0.0   TRUE :16         TRUE :35            TRUE :49       
##  Mean   : 3.9                                                       
##  3rd Qu.: 9.0                                                       
##  Max.   :14.0
ggplot(tableau1, aes(x=fumeur))+geom_bar()

ggplot(tableau1, aes(x=probleme_pulmonaire))+geom_bar()

  1. Faite le test d’independence
chisq.test(tableau1$probleme_pulmonaire, tableau1$fumeur) 
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  tableau1$probleme_pulmonaire and tableau1$fumeur
## X-squared = 26.828, df = 1, p-value = 2.224e-07

Que peut-on en conclure ?

  1. Pour déterminer si la répartition de fumeurs est differente selon la situation familiale, on est tenté de réaliser le test d’indépendance
chisq.test(tableau1$situation, tableau1$fumeur)
## 
##  Pearson's Chi-squared test
## 
## data:  tableau1$situation and tableau1$fumeur
## X-squared = 10.867, df = 3, p-value = 0.01247

Pourquoi cela produit-il le message d’avis l’approximation du Chi-2 est peut-être incorrecte ?

Regardons le tableau des effectifs observées

table(tableau1$situation,tableau1$fumeur)
##              
##               FALSE TRUE
##   celibataire    14   25
##   en_couple      21   15
##   marie          15    5
##   veuf            1    4

On peut remarquer qu’il y a des effectifs trop faibles dans la catégorie veuf. Il faudrait plus d’observations ou bien ne pas considérer les veufs dans l’etude.

  1. On decide alors de ne pas considerer les personnes veuves dans cette etude. Pour cela, on execute les commandes
tableau2<- tableau1 %>% filter(situation!="veuf")

chisq.test(tableau2$situation, tableau2$fumeur)
## 
##  Pearson's Chi-squared test
## 
## data:  tableau2$situation and tableau2$fumeur
## X-squared = 8.864, df = 2, p-value = 0.01189

Commenter les résultats.

  1. Le pourcentage de fumeurs en France est de 31,8% (en 2006, chez les 15-75 ans). La répartition observée ici est-elle compatible avec ce pourcentage ? Pour répondre à cette question, on exéctuera le test
fumeur <- tableau$tabac > 0
binom.test(table(fumeur),p=1-0.318)
## 
##  Exact binomial test
## 
## data:  table(fumeur)
## number of successes = 51, number of trials = 100, p-value =
## 0.0003556
## alternative hypothesis: true probability of success is not equal to 0.682
## 95 percent confidence interval:
##  0.4080363 0.6113558
## sample estimates:
## probability of success 
##                   0.51
#chisq.test(table(fumeur),p=c(1-0.318,0.318))