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)
attach(tableau)

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
fumeur <- (tabac > 0)
  1. Calculer les fréquences observées pour le modalités des variables fumeur et probleme pulmonaire puis représenter les distributions de ces variables par les commandes
n=nrow(tableau)
ni=table(fumeur); fi=ni/n
nj=table(probleme_pulmonaire); fj=nj/n
barplot(fi,main="Representation de la variable fumeur")

barplot(fj,main="Representation de la variable probleme_pulmonaire")

  1. Déterminer le tableau de contingence et représenter les fréquences observées de ces deux variables grâce aux commandes
nij=table(fumeur,probleme_pulmonaire)
fij=nij/n; fij
##        probleme_pulmonaire
## fumeur  FALSE TRUE
##   FALSE  0.46 0.05
##   TRUE   0.19 0.30
barplot(fij,xlab="probleme_pulmonaire",ylab="fumeur")

  1. Exécuter la commande
chisq.test(probleme_pulmonaire, fumeur) 
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  probleme_pulmonaire and fumeur
## X-squared = 26.828, df = 1, p-value = 2.224e-07

Quel est le test réalisé ? 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(situation, fumeur)
## Warning in chisq.test(situation, fumeur): Chi-squared approximation may be
## incorrect
## 
##  Pearson's Chi-squared test
## 
## data:  situation and 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(situation,fumeur)
##              fumeur
## situation     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
situation2=situation[situation!="veuf"]
fumeur2=fumeur[situation!="veuf"]
chisq.test(situation2, fumeur2)
## 
##  Pearson's Chi-squared test
## 
## data:  situation2 and fumeur2
## X-squared = 8.864, df = 2, p-value = 0.01189
plot(factor(fumeur2), factor(situation2), xlab="fumeur",ylab="situation")

plot(factor(situation2),factor(fumeur2), ylab="fumeur",xlab="situation")

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
table(fumeur) 
## fumeur
## FALSE  TRUE 
##    51    49
chisq.test(table(fumeur),p=c(1-0.318,0.318))
## 
##  Chi-squared test for given probabilities
## 
## data:  table(fumeur)
## X-squared = 13.641, df = 1, p-value = 0.0002213

Il y a une difference significative. Ici, nous avons 49% de fumeurs dans l’echantillon, ce qui est significativement superieur a la moyenne national de 31,8%. Cela peut s’expliquer car les fumeurs ont plus de problemes de sante et sont donc plus souvent à l’hopital.