Email : aida.nefzaoui@gmail.com

Introduction

Pour comparer l’effet de deux médicaments antalgiques et de leur association, on soumet à 40 patients ces traitements “en double insu”, c’est-à-dire que ni le patient ni le docteur ne savent de quel traitement il s’agit.
Les quatre traitements sont notés A, B, & et P. & est en fait l’association de A et B, P est un placebo (absence de médicament).

On note dans une échelle de temps repérée par les identificateurs de lignes la réaction des patients :
A1/4 signifie après 1/4 d’heure pour le traitement A, P2h signifie après 2 heures pour le placebo etc…
Les colonnes signifient :
Douleur nulle (DOU0)
Douleur légère (DOU1)
Douleur modérée (DOU2)
Douleur assez sévère (DOU3)
Douleur très sévère (DOU4)

Importation des données :

antal=read.csv("C:/Users/Asus/Desktop/antal.txt",row.names = 1,sep="")
antal
##      DOU0 DOU1 DOU2 DOU3 DOU4 DOU5
## A0h     0    0    0   28   12   25
## A1/4    0    2    4   28    6   13
## A1/2    0    4   16   18    2    5
## A1h     6    4   18   10    2    5
## A2h     6   10   12    8    4    9
## A3h     6   10    8   12    4    9
## A4h     4   12    4   16    4    9
## A>5h    0   14    6   16    4    9
## A>6h    0   14    6   16    4    9
## BP0h    0    0    0   22   18   37
## B1/4    0    4    6   22    8   17
## B1/2    0   12   10   16    2    5
## B1h     0   14   16    8    2    5
## B2h     4   16   10    8    2    5
## B3h     4   12   12   10    2    5
## B4h     2   12   16   10    0    1
## B5h     2   14   10   14    0    1
## B6h     0   18    8   14    0    1
## &0h     0    0    0   18   22   45
## &1/4    0    4    6   20   10   21
## &1/2    0    4   20   14    2    5
## &1h     4   12   18    6    0    1
## &2h     4   20   12    4    0    1
## &3h    12   14    7    7    0    1
## &>3h   12   10   10    8    0    1
## &>4h   12   10   10    8    0    1
## &>5h   12   10   10    8    0    1
## P0h     0    0    0   22   18   37
## P1/4    0    0    0   22   18   37
## P1/2    0    0    0   34    6   13
## P1h     2    4   16   14    4    9
## P2h     2    8    8   10    4    9
## P3h     4    8    8   14    6   13
## P4h     4    8    4   16    8   17
## P5h     2    8    8   10   12   25
## P6h     2    6   12   10   10   21

Problématique :

Le tableau ci-dessus est un tableau de contingence, je vais donc effectuer une AFC.

Correspondance douleur x type de traitement : la librairie utilisée est FactoMineR.

library(FactoMineR)
## Warning: package 'FactoMineR' was built under R version 3.2.5
x1=antal[,1:5]
ca=CA(X = x1,graph = F)
summary(ca)
## 
## Call:
## CA(X = x1, graph = F) 
## 
## The chi square of independence between the two variables is equal to 774.7945 (p-value =  1.548435e-88 ).
## 
## Eigenvalues
##                        Dim.1   Dim.2   Dim.3   Dim.4
## Variance               0.349   0.092   0.053   0.046
## % of var.             64.492  17.048   9.882   8.578
## Cumulative % of var.  64.492  81.540  91.422 100.000
## 
## Rows (the 10 first)
##        Iner*1000    Dim.1    ctr   cos2    Dim.2    ctr   cos2    Dim.3
## A0h  |    28.054 | -0.964  7.434  0.925 |  0.056  0.096  0.003 | -0.078
## A1/4 |    15.901 | -0.586  2.747  0.603 | -0.155  0.730  0.042 | -0.068
## A1/2 |    10.045 |  0.037  0.011  0.004 | -0.434  5.700  0.523 |  0.336
## A1h  |    13.254 |  0.418  1.396  0.368 |  0.045  0.061  0.004 |  0.532
## A2h  |     5.634 |  0.381  1.161  0.719 |  0.169  0.860  0.141 |  0.126
## A3h  |     3.042 |  0.233  0.435  0.499 |  0.227  1.558  0.473 | -0.053
## A4h  |     3.532 |  0.062  0.030  0.030 |  0.112  0.377  0.098 | -0.326
## A>5h |     5.729 |  0.009  0.001  0.000 | -0.261  2.055  0.331 | -0.365
## A>6h |     5.729 |  0.009  0.001  0.000 | -0.261  2.055  0.331 | -0.365
## BP0h |    36.618 | -1.115  9.961  0.949 |  0.205  1.277  0.032 |  0.034
##         ctr   cos2  
## A0h   0.317  0.006 |
## A1/4  0.244  0.008 |
## A1/2  5.909  0.314 |
## A1h  14.774  0.596 |
## A2h   0.827  0.078 |
## A3h   0.148  0.026 |
## A4h   5.545  0.839 |
## A>5h  6.962  0.650 |
## A>6h  6.962  0.650 |
## BP0h  0.059  0.001 |
## 
## Columns
##        Iner*1000     Dim.1     ctr    cos2     Dim.2     ctr    cos2  
## DOU0 |   119.610 |   0.819  14.226   0.415 |   0.955  73.124   0.564 |
## DOU1 |    92.906 |   0.537  17.178   0.645 |  -0.100   2.262   0.022 |
## DOU2 |    90.297 |   0.482  14.478   0.559 |  -0.250  14.760   0.151 |
## DOU3 |    78.688 |  -0.390  15.852   0.703 |  -0.073   2.122   0.025 |
## DOU4 |   159.557 |  -0.988  38.266   0.837 |   0.228   7.731   0.045 |
##        Dim.3     ctr    cos2  
## DOU0   0.094   1.218   0.005 |
## DOU1  -0.339  44.613   0.257 |
## DOU2   0.344  48.204   0.285 |
## DOU3  -0.070   3.289   0.022 |
## DOU4   0.102   2.675   0.009 |

Je remarque que d’après les valeurs propores, les deux 1ers axes résument environ 83% de la variance totale expliquée, ce qui m’amène à retenir ces axes.

pc=PCA(x1,scale.unit = T,ncp=2,graph=F)

La librairie utilisée ici est factoextra.

Ebouli des valeurs propres :

library(factoextra)
## Warning: package 'factoextra' was built under R version 3.2.5
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 3.2.5
fviz_screeplot(pc)

Voyons voir la contribution des individus aux deux axes principaux

library(factoextra)
fviz_contrib(ca,axes = 1)
## Warning in if (!element %in% c("row", "col", "var", "ind", "quanti.var", :
## la condition a une longueur > 1 et seul le premier élément est utilisé

Les traitements &0h, BP0h, P0h et P1/4 contribuent le plus au 1er axe, donc celui-ci représente l’évolution du type traitement dans le temps.

fviz_contrib(ca,axes = 2)
## Warning in if (!element %in% c("row", "col", "var", "ind", "quanti.var", :
## la condition a une longueur > 1 et seul le premier élément est utilisé

Les traitemets &3h, &>3h, &>4h et &>5h contribuent le plus au 2eme axe.

Représentation simultanée avec le cos2 :

Dans cette section je vais utiliser les librairies ggplot2 et ggrepel.

cos2row=rowSums(ca$row$cos2[,1:2])
cos2col=rowSums(ca$col$cos2[,1:2])
dt=data.frame(c(ca$row$coord[,1]/sqrt(ca$eig[1,1]),ca$col$coord[,1]/sqrt(ca$eig[1,1])),
+               c(ca$row$coord[,2]/sqrt(ca$eig[2,1]),ca$col$coord[,2]/sqrt(ca$eig[2,1])),               c(rownames(x1),colnames(x1)),c(rep("traitement",nrow(x1)),rep("type de douleur",ncol(x1))),
+               c(cos2row,cos2col))

colnames(dt)=c("pc1","pc2","text","variable","cos2")     

library(ggplot2)
library(ggrepel)     
## Warning: package 'ggrepel' was built under R version 3.2.5
p<-ggplot(dt,aes(x=pc1,y=pc2,col=variable,fill=variable,label=text,size=cos2)) +
   geom_vline(xintercept = 0) + geom_hline(yintercept = 0) +
   geom_point(alpha=.5) +
   geom_text_repel()
p<-p+theme_gray()
p<-p+theme(legend.position="none")+xlab("Axis1")+ylab("Axis2")
p

Je vais exploiter ce graphique pour souligner la contribution des individus sur les 2 axes principaux.
Une douleur nulle (DOU0) est possible avec l’association des deux antalgiques au bout de 3 heures et plus. Une douleur légère à modérée (DOU1) et (DOU2) est possible grâce au traitements & et B au bout de 2 heures et plus.
Une douleur très sévère (DOU4) est due aux placebos et les traitements A, B et & dès la prise du médicament.

fviz_ca(ca)

Conclusion :

En guise de conclusion, l’association des deux médicaments (&) est plus efficace que les médicaments A et B pris seuls.
Ensuite, le traitement & agit à partir de la 1ere heure puis élimine la douleur à partir de la 3eme heure.
Je remarque aussi que l’antalgique B est plus efficace que A et agit à partir de la 3eme heure.