diff --git a/Projet.Rmd b/Projet.Rmd index 1b53283..8441c1d 100644 --- a/Projet.Rmd +++ b/Projet.Rmd @@ -1,6 +1,8 @@ --- title: "Projet" -output: html_document +output: + pdf_document: default + html_document: default date: "2024-12-04" --- @@ -12,6 +14,8 @@ library(reshape2) library(corrplot) library(FactoMineR) library(factoextra) +library(cluster) +library(mclust) ``` ```{r} @@ -19,6 +23,7 @@ T = read.table("DataProjet3MIC-2425.txt",header=TRUE,sep=";") T$ExpT1 = as.factor(T$ExpT1) T$ExpT2 = as.factor(T$ExpT2) T$ExpT3 = as.factor(T$ExpT3) +#centrer T head(T) summary(T) str(T) @@ -281,9 +286,7 @@ Contexte : les relevés aux heures sont décrits par les gènes ( les gènes son - les genes proches d'un axe sont très représentés par celui-ci - les genes dont l'angle entre eux est petit sont corrélés entre eux -#### Dire : Ce coté on voit bien qu'on est plus ce type de gènes et vers le haut c'est plutot ce type là etc... -## ON EST SENSE VOIR UN TRUC IMPORTANT D'APRES LA PROF MAIS JE VOIS RIEN -### interprétation globale du couple de graphes +## Interprétation globale du couple de graphes On voit que les genes se polarisent principalement sur l'axe 1 dans un sens ou l'autre. Les flèches sont d'une longueur presque du rayon du cercle, indiquant une participation très forte des genes dans la variance expliquée par ces dimensions. Il n'y a pas de tendance particulière sur la direction selon l'axe 2 des flèches : Dans chaque "polarité" de fleches selon l'axe 1, il y a des fleches dont la direction est negative d'autres positive selon l'axe 2. @@ -291,7 +294,10 @@ Il n'y a pas de tendance particulière sur la direction selon l'axe 2 des flèch Le traitement 1 est entièrement groupé sur des valeurs très negatives de l'axe 1. On remarque dans ce groupement la présence des T3 et T4 à la première heure de relevés d'expression des gènes. -axe 1: force du changement d'expression : si on sur-exprime/sous-exprime de beaucoup ( genre 0=>5) ou pas, polarisation ? +## ON EST SENSE VOIR UN TRUC IMPORTANT D'APRES LA PROF MAIS JE VOIS RIEN +### Les axes générés par l'ACP sont purement virtuels, mais on peut y préter un sens plus ou moins défini selon les variables qui y sont corrélées + +axe 1: force du changement d'expression des gènes : si on sur-exprime/sous-exprime de beaucoup ( genre 0=>5) ou pas, polarisation ? axe 2 : vers le haut => ça va changer d'expression bientot, vers le bas => ça se stabilise ( donc les genes pointant vers le haut changent d'expression, et ceux vers le bas ont tendance à rester plutot pareil ) @@ -302,10 +308,6 @@ axe 2 : vers le haut => ça va changer d'expression bientot, vers le bas => ça -En ayant en tête les histogrammes de l'analyse descriptive, on pourrait y voir un axe représentant l'expression : les valeurs négatives portent les gènes dont l'expression relative est. - - - En regardant le graphe des individus (résultats aux heures de relevés), on a effectivement les heures groupées à des valeurs negatives de l'axe 1 correspondant aux relevés du traitement 1 qui, souvenons-nous toujours des histogrammes, ne change l'expression relative que de très peu de gènes. Pour l'interprétation du second axe, les gènes semblent y être positivement et negativement corrélés quel que soit leur correlation avec l'axe 1. @@ -318,11 +320,91 @@ En regardant les individus, on observe que plus l'heure est tardive, plus ils te ### afin de visualiser les corrélations des variables intiales avec toutes les méta-variables (pas trs utile on a déjà le cercle) ```{r fig.height=18} +# que 50 gènes sinon c'est le bordel corrplot(res_pca$var$cor[1:50,],method="ellipse", type="lower", bg = "lightgrey") ``` MAIS C'EST INBUVABLE +### plus ou moins inutile ici de regarder d'autres plans + +```{r} +fviz_pca_ind(res_pca,axes = c(1,3),geom=c("point")) +fviz_pca_ind(res_pca,axes = c(1,4),geom=c("point")) +fviz_pca_ind(res_pca,axes = c(1,5),geom=c("point")) +``` +## Clustering + +Nous avons choisi d'effectuer un clustering de l'ACP réalisée plus haut grâce à la méthode des kmeans. Car à l'oeil nu, on dénote déjà très précisément 3 ou 4 clusters donc il sera aisé de trouver le nombre de classes, car normalement il sera de 3 ou 4. - \ No newline at end of file +```{r} +#centrage et réduction des données +s = scale(donnees_transposees) + +Kmax<-15 +reskmeanscl<-matrix(0,nrow=nrow(s),ncol=Kmax-1) +Iintra<-NULL +for (k in 2:Kmax){ + resaux<-kmeans(s,k) + reskmeanscl[,k-1]<-resaux$cluster + Iintra<-c(Iintra,resaux$tot.withinss) +} + +df<-data.frame(K=2:15,Iintra=Iintra) +ggplot(df,aes(x=K,y=Iintra))+ + geom_line()+ + geom_point()+ + xlab("Nombre de classes")+ + ylab("Inertie intraclasse") +``` + +On voit un coude à 4 clusters ? + + +```{r} +Silhou<-NULL +for (k in 2:Kmax){ + aux<-silhouette(reskmeanscl[,k-1], daisy(s)) + Silhou<-c(Silhou,mean(aux[,3])) +} + +df<-data.frame(K=2:Kmax,Silhouette=Silhou) +ggplot(df,aes(x=K,y=Silhouette))+ + geom_point()+ + geom_line()+theme(legend.position = "bottom") + +aux<-silhouette(reskmeanscl[,3-1], daisy(s)) +fviz_silhouette(aux)+ + theme(plot.title = element_text(size =9)) +rm(df,Silhou,aux) +``` + + + + + + +Silhouette fait un pic à 5 et pas 4 :/ + +### visualisation du clustering +```{r} +#graphes des clusters +res_kmeans = kmeans(s,3) +fviz_cluster(res_kmeans,data=donnees_transposees, + ellipse.type="norm",labelsize=8, + geom=c("point"))+ggtitle("") + +table(wine$Type,wine$Qualite) +adjustedRandIndex(wine$Type,reskmeans$cluster) # fonction de similarité, on a 0,35 avec Type, ce n'est donc pas fou non plus +adjustedRandIndex(wine$Qualite,reskmeans$cluster) # on voit que la similarité avec la qualité donne 0 => cela n'a rien à voir + +clust<-paste("Cl-K",res_kmeans$cluster,sep="") +Tab<-melt(table(clust,donnees_transposees[,1])) +ggplot(Tab,aes(y=value,axis1=clust,axis2=Var2))+ + geom_alluvium(aes(fill=clust))+ + geom_stratum(width = 1/12)+ + geom_text(stat = "stratum", aes(label = after_stat(stratum)))+ + theme(legend.position = "none") +chordDiagram(table(clust,donnees_transposees[,2])) +``` \ No newline at end of file diff --git a/Projet.html b/Projet.html new file mode 100644 index 0000000..f0aaab4 --- /dev/null +++ b/Projet.html @@ -0,0 +1,1086 @@ + + + + +
+ + + + + + + + + +T = read.table("DataProjet3MIC-2425.txt",header=TRUE,sep=";")
+T$ExpT1 = as.factor(T$ExpT1)
+T$ExpT2 = as.factor(T$ExpT2)
+T$ExpT3 = as.factor(T$ExpT3)
+head(T)
+## T1_1H_R1 T1_2H_R1 T1_3H_R1 T1_4H_R1 T1_5H_R1 T1_6H_R1
+## G5 -0.2054734 -0.6888206 -0.18108429 -0.066565379 0.52170865 0.4480939
+## G6 -0.6195103 -0.8561376 -0.02108391 -0.144561565 0.49344924 0.4536955
+## G11 0.3087073 0.8172262 -0.56147370 0.181479326 -0.33704562 -0.3731662
+## G13 0.1924929 0.1476873 0.24238730 0.561824906 0.04531418 -0.6351644
+## G18 0.1080725 0.2881167 -0.19747270 -0.001549827 -0.22740847 -0.5709062
+## G23 0.1135094 -0.2969878 -0.13434839 0.071241947 -0.59324439 0.7029352
+## T2_1H_R1 T2_2H_R1 T2_3H_R1 T2_4H_R1 T2_5H_R1 T2_6H_R1
+## G5 -0.4491395 -1.51438243 -3.8153763 -2.5030107 -2.91443708 -3.572760
+## G6 -0.5715679 -1.47552917 -3.0786353 -2.2175271 -2.26586463 -3.359180
+## G11 -0.2089430 -1.28998670 -2.6332288 -2.4010825 -2.43974374 -2.033578
+## G13 0.5262851 1.43148420 1.8420478 1.8328251 1.92424716 2.192265
+## G18 0.3401306 -0.04682641 -0.3267337 -0.4701502 0.01529052 2.167138
+## G23 0.1681757 -1.33944054 -2.8555289 -3.4466995 -4.29654702 -3.843560
+## T3_1H_R1 T3_2H_R1 T3_3H_R1 T3_4H_R1 T3_5H_R1 T3_6H_R1
+## G5 -0.66446988 -2.522064 -1.7969866 -2.967056 -2.991815880 -2.836828
+## G6 -0.54270432 -2.281383 -1.5971483 -2.635147 -2.424743983 -2.535588
+## G11 -0.27086062 -1.176080 -3.0179239 -2.952781 -2.963556862 -2.490674
+## G13 0.41267413 1.687565 1.8118555 1.867925 2.142488325 2.098050
+## G18 -0.04019622 0.179040 -0.1922123 -0.552894 -0.005530098 2.092308
+## G23 0.55921015 -1.338337 -2.6151952 -3.555361 -4.375187079 -3.605193
+## T1_1H_R2 T1_2H_R2 T1_3H_R2 T1_4H_R2 T1_5H_R2 T1_6H_R2
+## G5 -0.2499091 -0.237592463 -0.7414745 0.5043795 0.3548600 0.6983094
+## G6 -0.5265623 -0.347359147 -0.6399105 0.2740703 0.3466837 0.6626021
+## G11 0.3029732 0.547722402 0.5885428 -0.9077323 -1.4279824 -0.6993109
+## G13 -0.2344408 -0.289916318 0.7250230 -0.4877646 -0.2893664 -0.6486218
+## G18 -0.3295655 0.004397478 0.1714382 -0.5300958 -0.4808025 -0.7135995
+## G23 -0.1475303 -0.044008927 -0.4404662 0.1751426 -0.4610258 0.7436764
+## T2_1H_R2 T2_2H_R2 T2_3H_R2 T2_4H_R2 T2_5H_R2 T2_6H_R2 T3_1H_R2
+## G5 -0.6705182 -2.4890394 -2.398936 -2.5517659 -2.4744365 -3.144543 -0.6195184
+## G6 -0.6704720 -2.4162352 -2.209975 -2.1976128 -2.2384780 -2.468120 -0.8422885
+## G11 0.1630917 -2.3067461 -2.320666 -3.2938063 -2.9668778 -3.183063 -0.1946611
+## G13 0.2720468 1.4695457 1.831608 1.6181355 2.1912834 2.188585 0.1704330
+## G18 -0.3731123 -0.1094265 0.130255 -0.4527278 0.8875215 2.180169 -0.4460246
+## G23 -0.1353737 -1.4500180 -2.235124 -3.7803063 -4.1084129 -4.471728 -0.2753172
+## T3_2H_R2 T3_3H_R2 T3_4H_R2 T3_5H_R2 T3_6H_R2 ExpT1 ExpT2 ExpT3
+## G5 -2.7064195 -2.8284978 -2.8493415 -2.938259 -3.390693 Non Sous Sous
+## G6 -2.4478142 -2.5524222 -2.4837090 -2.461097 -2.970514 Non Sous Sous
+## G11 -2.1067567 -2.6235631 -3.0237474 -2.807225 -2.698180 Non Sous Sous
+## G13 1.5124230 2.0506932 1.5586937 2.317673 2.156185 Non Sur Sur
+## G18 0.0383623 -0.1107769 -0.2219528 1.187512 1.952405 Non Sur Sur
+## G23 -1.4062330 -2.2049955 -3.1804119 -3.940839 -4.668680 Non Sous Sous
+summary(T)
+## T1_1H_R1 T1_2H_R1 T1_3H_R1 T1_4H_R1
+## Min. :-3.58436 Min. :-4.3034 Min. :-2.26607 Min. :-2.56731
+## 1st Qu.:-0.22978 1st Qu.:-0.1404 1st Qu.:-0.28249 1st Qu.:-0.42895
+## Median :-0.03631 Median : 0.1420 Median :-0.05927 Median : 0.16867
+## Mean :-0.02951 Mean : 0.1767 Mean : 0.04103 Mean : 0.05281
+## 3rd Qu.: 0.12204 3rd Qu.: 0.3904 3rd Qu.: 0.15839 3rd Qu.: 0.44483
+## Max. : 5.06654 Max. : 7.2821 Max. : 6.61788 Max. : 6.87671
+## T1_5H_R1 T1_6H_R1 T2_1H_R1 T2_2H_R1
+## Min. :-5.5106 Min. :-2.9759 Min. :-4.30401 Min. :-4.5825
+## 1st Qu.:-0.4788 1st Qu.:-0.6124 1st Qu.:-0.43935 1st Qu.:-0.9932
+## Median :-0.1984 Median :-0.3724 Median : 0.13065 Median : 0.3289
+## Mean :-0.1585 Mean :-0.2416 Mean : 0.06039 Mean : 0.4714
+## 3rd Qu.: 0.2077 3rd Qu.: 0.2413 3rd Qu.: 0.46011 3rd Qu.: 1.9464
+## Max. : 5.8582 Max. : 4.1009 Max. : 8.66345 Max. : 8.7483
+## T2_3H_R1 T2_4H_R1 T2_5H_R1 T2_6H_R1
+## Min. :-6.6293 Min. :-5.813548 Min. :-5.8017 Min. :-5.6784
+## 1st Qu.:-2.0451 1st Qu.:-2.406108 1st Qu.:-2.4172 1st Qu.:-2.5552
+## Median : 0.3733 Median : 0.008421 Median : 0.7556 Median : 1.8857
+## Mean : 0.3805 Mean : 0.197409 Mean : 0.1521 Mean : 0.2313
+## 3rd Qu.: 2.7644 3rd Qu.: 2.699218 3rd Qu.: 2.5236 3rd Qu.: 2.7235
+## Max. : 8.9881 Max. : 7.503939 Max. : 7.0606 Max. : 8.8815
+## T3_1H_R1 T3_2H_R1 T3_3H_R1 T3_4H_R1
+## Min. :-2.9561 Min. :-4.9884 Min. :-5.8280 Min. :-6.0789
+## 1st Qu.:-0.4409 1st Qu.:-1.1066 1st Qu.:-1.5925 1st Qu.:-2.4930
+## Median : 0.1573 Median : 0.6914 Median : 0.9585 Median : 0.9982
+## Mean : 0.1714 Mean : 0.5878 Mean : 0.6387 Mean : 0.2736
+## 3rd Qu.: 0.6673 3rd Qu.: 2.3016 3rd Qu.: 2.7533 3rd Qu.: 2.7854
+## Max. : 8.6849 Max. : 8.6560 Max. : 8.0950 Max. : 7.0103
+## T3_5H_R1 T3_6H_R1 T1_1H_R2 T1_2H_R2
+## Min. :-6.910 Min. :-4.7625 Min. :-2.11580 Min. :-2.75004
+## 1st Qu.:-2.487 1st Qu.:-2.0911 1st Qu.:-0.28225 1st Qu.:-0.27271
+## Median : 1.156 Median : 1.8690 Median :-0.02432 Median :-0.04075
+## Mean : 0.258 Mean : 0.3913 Mean :-0.04445 Mean : 0.10717
+## 3rd Qu.: 2.709 3rd Qu.: 2.4879 3rd Qu.: 0.15670 3rd Qu.: 0.25383
+## Max. : 6.529 Max. : 8.6398 Max. : 4.70943 Max. : 7.03638
+## T1_3H_R2 T1_4H_R2 T1_5H_R2 T1_6H_R2
+## Min. :-3.2539 Min. :-3.50770 Min. :-3.3307 Min. :-2.4863
+## 1st Qu.:-0.1229 1st Qu.:-0.51001 1st Qu.:-0.6437 1st Qu.:-0.9686
+## Median : 0.2674 Median :-0.27091 Median :-0.3845 Median :-0.7215
+## Mean : 0.3033 Mean :-0.02457 Mean :-0.2410 Mean :-0.3082
+## 3rd Qu.: 0.5068 3rd Qu.: 0.27652 3rd Qu.: 0.1442 3rd Qu.: 0.5814
+## Max. : 7.1995 Max. : 6.52284 Max. : 5.2469 Max. : 3.9054
+## T2_1H_R2 T2_2H_R2 T2_3H_R2 T2_4H_R2
+## Min. :-2.38587 Min. :-5.8266 Min. :-4.6135 Min. :-6.4553
+## 1st Qu.:-0.48477 1st Qu.:-1.2309 1st Qu.:-1.4511 1st Qu.:-2.3416
+## Median : 0.03105 Median : 0.6644 Median : 0.5351 Median : 0.5323
+## Mean : 0.08932 Mean : 0.4684 Mean : 0.5999 Mean : 0.1279
+## 3rd Qu.: 0.61495 3rd Qu.: 2.1298 3rd Qu.: 2.5954 3rd Qu.: 2.4618
+## Max. : 8.59820 Max. : 8.8928 Max. : 8.4956 Max. : 8.0010
+## T2_5H_R2 T2_6H_R2 T3_1H_R2 T3_2H_R2
+## Min. :-6.1685 Min. :-6.2234 Min. :-3.22436 Min. :-6.0944
+## 1st Qu.:-2.4058 1st Qu.:-2.6251 1st Qu.:-0.61705 1st Qu.:-1.3567
+## Median : 1.0892 Median : 2.0014 Median : 0.07589 Median : 0.7670
+## Mean : 0.1411 Mean : 0.1572 Mean : 0.11618 Mean : 0.5725
+## 3rd Qu.: 2.5033 3rd Qu.: 2.5375 3rd Qu.: 0.76673 3rd Qu.: 2.3150
+## Max. : 7.4521 Max. : 8.7777 Max. : 8.77729 Max. : 8.6354
+## T3_3H_R2 T3_4H_R2 T3_5H_R2 T3_6H_R2
+## Min. :-6.0135 Min. :-6.0345 Min. :-6.8294 Min. :-7.24672
+## 1st Qu.:-1.8079 1st Qu.:-2.2277 1st Qu.:-2.5646 1st Qu.:-2.80051
+## Median : 1.1183 Median : 1.1769 Median : 1.6539 Median : 1.92082
+## Mean : 0.5828 Mean : 0.3157 Mean : 0.1338 Mean : 0.05484
+## 3rd Qu.: 2.8892 3rd Qu.: 2.6455 3rd Qu.: 2.5664 3rd Qu.: 2.46450
+## Max. : 8.2637 Max. : 7.4777 Max. : 6.9137 Max. : 8.69285
+## ExpT1 ExpT2 ExpT3
+## Non :441 Non : 11 Non : 7
+## Sous: 57 Sous:247 Sous:247
+## Sur : 44 Sur :284 Sur :288
+##
+##
+##
+str(T)
+## 'data.frame': 542 obs. of 39 variables:
+## $ T1_1H_R1: num -0.205 -0.62 0.309 0.192 0.108 ...
+## $ T1_2H_R1: num -0.689 -0.856 0.817 0.148 0.288 ...
+## $ T1_3H_R1: num -0.1811 -0.0211 -0.5615 0.2424 -0.1975 ...
+## $ T1_4H_R1: num -0.06657 -0.14456 0.18148 0.56182 -0.00155 ...
+## $ T1_5H_R1: num 0.5217 0.4934 -0.337 0.0453 -0.2274 ...
+## $ T1_6H_R1: num 0.448 0.454 -0.373 -0.635 -0.571 ...
+## $ T2_1H_R1: num -0.449 -0.572 -0.209 0.526 0.34 ...
+## $ T2_2H_R1: num -1.5144 -1.4755 -1.29 1.4315 -0.0468 ...
+## $ T2_3H_R1: num -3.815 -3.079 -2.633 1.842 -0.327 ...
+## $ T2_4H_R1: num -2.5 -2.22 -2.4 1.83 -0.47 ...
+## $ T2_5H_R1: num -2.9144 -2.2659 -2.4397 1.9242 0.0153 ...
+## $ T2_6H_R1: num -3.57 -3.36 -2.03 2.19 2.17 ...
+## $ T3_1H_R1: num -0.6645 -0.5427 -0.2709 0.4127 -0.0402 ...
+## $ T3_2H_R1: num -2.522 -2.281 -1.176 1.688 0.179 ...
+## $ T3_3H_R1: num -1.797 -1.597 -3.018 1.812 -0.192 ...
+## $ T3_4H_R1: num -2.967 -2.635 -2.953 1.868 -0.553 ...
+## $ T3_5H_R1: num -2.99182 -2.42474 -2.96356 2.14249 -0.00553 ...
+## $ T3_6H_R1: num -2.84 -2.54 -2.49 2.1 2.09 ...
+## $ T1_1H_R2: num -0.25 -0.527 0.303 -0.234 -0.33 ...
+## $ T1_2H_R2: num -0.2376 -0.3474 0.5477 -0.2899 0.0044 ...
+## $ T1_3H_R2: num -0.741 -0.64 0.589 0.725 0.171 ...
+## $ T1_4H_R2: num 0.504 0.274 -0.908 -0.488 -0.53 ...
+## $ T1_5H_R2: num 0.355 0.347 -1.428 -0.289 -0.481 ...
+## $ T1_6H_R2: num 0.698 0.663 -0.699 -0.649 -0.714 ...
+## $ T2_1H_R2: num -0.671 -0.67 0.163 0.272 -0.373 ...
+## $ T2_2H_R2: num -2.489 -2.416 -2.307 1.47 -0.109 ...
+## $ T2_3H_R2: num -2.4 -2.21 -2.32 1.83 0.13 ...
+## $ T2_4H_R2: num -2.552 -2.198 -3.294 1.618 -0.453 ...
+## $ T2_5H_R2: num -2.474 -2.238 -2.967 2.191 0.888 ...
+## $ T2_6H_R2: num -3.14 -2.47 -3.18 2.19 2.18 ...
+## $ T3_1H_R2: num -0.62 -0.842 -0.195 0.17 -0.446 ...
+## $ T3_2H_R2: num -2.7064 -2.4478 -2.1068 1.5124 0.0384 ...
+## $ T3_3H_R2: num -2.828 -2.552 -2.624 2.051 -0.111 ...
+## $ T3_4H_R2: num -2.849 -2.484 -3.024 1.559 -0.222 ...
+## $ T3_5H_R2: num -2.94 -2.46 -2.81 2.32 1.19 ...
+## $ T3_6H_R2: num -3.39 -2.97 -2.7 2.16 1.95 ...
+## $ ExpT1 : Factor w/ 3 levels "Non","Sous","Sur": 1 1 1 1 1 1 1 1 1 1 ...
+## $ ExpT2 : Factor w/ 3 levels "Non","Sous","Sur": 2 2 2 3 3 2 3 3 2 2 ...
+## $ ExpT3 : Factor w/ 3 levels "Non","Sous","Sur": 2 2 2 3 3 2 3 3 2 2 ...
+levels(T$ExpT1)
+## [1] "Non" "Sous" "Sur"
+3 variables qualitatives nominales représentant l’expression du +gêne \[g\] dont les modalités sont +\[\{"sur","sous","non"\}\]. +chaque variable correspond respectivement à la différence d’expression +du gêne mesurée à la 6èeme heure lors du traitement \[T \in \{T1,T2,T3\}\]
\[3*6 + 3*6 = 36\] variables +quantitatives continues représentant les effets des traitements sur +l’expression des gênes T1 T2 et T3 à 1h,2h,3h,4h,5h,6h après +l’administration pour les replicats R1 et R2, par rapport à leur +expression à T=0 ( sans traitement).
Ce jeu de données contient des relevés sur 542 individus, ici des +gênes.
g1<-ggplot(T, aes(x=T$ExpT1))+
+ geom_bar()+
+ ylab("Effectifs")+ggtitle("Effectifs")
+g2<-ggplot(T, aes(x = T$ExpT1)) +
+ geom_bar(aes(y = (..count..)/sum(..count..)))+ylab("")+ggtitle("Frequences")
+
+df <- data.frame(group = levels(T$ExpT1),
+ value = as.vector(table(T$ExpT1))/nrow(T))
+g3<-ggplot(df, aes(x="", y=value, fill=group))+
+ geom_bar(width = 1, stat = "identity")+
+ coord_polar("y", start=0)+
+ theme(legend.position="bottom")
+grid.arrange(g3,g1,g2,ncol=3)
+## Warning: Use of `T$ExpT1` is discouraged.
+## ℹ Use `ExpT1` instead.
+## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
+## ℹ Please use `after_stat(count)` instead.
+## This warning is displayed once every 8 hours.
+## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
+## generated.
+## Warning: Use of `T$ExpT1` is discouraged.
+## ℹ Use `ExpT1` instead.
+g1<-ggplot(T, aes(x=T$ExpT2))+
+ geom_bar()+
+ ylab("Effectifs")+ggtitle("Effectifs")
+g2<-ggplot(T, aes(x = T$ExpT2)) +
+ geom_bar(aes(y = (..count..)/sum(..count..)))+ylab("")+ggtitle("Frequences")
+
+df <- data.frame(group = levels(T$ExpT2),
+ value = as.vector(table(T$ExpT2))/nrow(T))
+g3<-ggplot(df, aes(x="", y=value, fill=group))+
+ geom_bar(width = 1, stat = "identity")+
+ coord_polar("y", start=0)+
+ theme(legend.position="bottom")
+grid.arrange(g3,g1,g2,ncol=3)
+## Warning: Use of `T$ExpT2` is discouraged.
+## ℹ Use `ExpT2` instead.
+## Use of `T$ExpT2` is discouraged.
+## ℹ Use `ExpT2` instead.
+g1<-ggplot(T, aes(x=T$ExpT3))+
+ geom_bar()+
+ ylab("Effectifs")+ggtitle("Effectifs")
+g2<-ggplot(T, aes(x = T$ExpT3)) +
+ geom_bar(aes(y = (..count..)/sum(..count..)))+ylab("")+ggtitle("Frequences")
+
+df <- data.frame(group = levels(T$ExpT3),
+ value = as.vector(table(T$ExpT3))/nrow(T))
+g3<-ggplot(df, aes(x="", y=value, fill=group))+
+ geom_bar(width = 1, stat = "identity")+
+ coord_polar("y", start=0)+
+ theme(legend.position="bottom")
+grid.arrange(g3,g1,g2,ncol=3)
+## Warning: Use of `T$ExpT3` is discouraged.
+## ℹ Use `ExpT3` instead.
+## Use of `T$ExpT3` is discouraged.
+## ℹ Use `ExpT3` instead.
+On remarque que les traitements T2 et T3 semblent avoir un effet +assez similaire sur l’expression des gênes relevée à la 6ème heure : Une +polarisation entre la sous expression et la sur expression qui se +partagent presque la totalité des relevés, avec un poids légèrement +superieur à 55% pour la sur-expression au détriment de la +sous-expression. Cela a peut être un rapporrt avec le fait que T3 est +une combinaison des traitement T1 et T2.
+T1 quant à lui se démarque grandement par une large majorité (Un peu +plus de 80%), de gêne n’ayant pas changé d’expression après 6h de +traitement.
+#apply(T[-c(37:39)],2,function(col){
+ # which(T == col)
+ #hist(col, main = paste("Histogram of", colnames(T)[which(T == col)[2]]),
+ # xlab = "Values", col = "lightblue", border = "black")
+ #})
+T_long = melt(T[c(1,2,3,4,5,6,19,20,21,22,23,24)])
+## No id variables; using all as measure variables
+ggplot(T_long, aes(x = value)) +
+ geom_histogram(binwidth = 1, fill = "blue", color = "black", alpha = 0.7) +
+ facet_wrap(~variable,scales = "free",ncol=6) +
+ labs(title = "Histograms for Each Column", x = "Values", y = "Frequency")
+
+### Traitement T2
T_long = melt(T[c(7,8,9,10,11,12,25,26,27,28,29,30)])
+## No id variables; using all as measure variables
+ggplot(T_long, aes(x = value)) +
+ geom_histogram(binwidth = 1, fill = "blue", color = "black", alpha = 0.7) +
+ facet_wrap(~variable,scales = "free",ncol=6) +
+ labs(title = "Histograms for Each Column", x = "Values", y = "Frequency")
+
+### Traitement T3
T_long = melt(T[c(13,14,15,16,17,18,31,32,33,34,35,36)])
+## No id variables; using all as measure variables
+ggplot(T_long, aes(x = value)) +
+ geom_histogram(binwidth = 1, fill = "blue", color = "black", alpha = 0.7) +
+ facet_wrap(~variable,scales = "free",ncol=6) +
+ labs(title = "Histograms for Each Column", x = "Values", y = "Frequency")
+Nous observons bien une concordance avec l’analyse des expressions
+des gênes figure
ggplot(melt(T[1:18]),aes(x=variable,y=value))+
+ geom_boxplot()+ theme(axis.text.x = element_text(angle=90, vjust = 0.5, hjust = 1))
+## No id variables; using all as measure variables
+ggplot(melt(T[19:36]),aes(x=variable,y=value))+
+ geom_boxplot() + theme(axis.text.x = element_text(angle=90, vjust = 0.5, hjust = 1))
+## No id variables; using all as measure variables
+On voit que même sans réduire les données, chaque variable s’exprime +environ avec la même intensité.
+# traitement 1 corrélation avec l'expression des genes du T1 T2 et T3
+ggplot(T,aes(y=T$T1_6H_R1,x=T$ExpT1))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT1` is discouraged.
+## ℹ Use `ExpT1` instead.
+## Warning: Use of `T$T1_6H_R1` is discouraged.
+## ℹ Use `T1_6H_R1` instead.
+ggplot(T,aes(y=T$T1_6H_R2,x=T$ExpT1))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT1` is discouraged.
+## ℹ Use `ExpT1` instead.
+## Warning: Use of `T$T1_6H_R2` is discouraged.
+## ℹ Use `T1_6H_R2` instead.
+ggplot(T,aes(y=T$T1_6H_R1,x=T$ExpT2))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT2` is discouraged.
+## ℹ Use `ExpT2` instead.
+## Warning: Use of `T$T1_6H_R1` is discouraged.
+## ℹ Use `T1_6H_R1` instead.
+ggplot(T,aes(y=T$T1_6H_R2,x=T$ExpT2))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT2` is discouraged.
+## ℹ Use `ExpT2` instead.
+## Warning: Use of `T$T1_6H_R2` is discouraged.
+## ℹ Use `T1_6H_R2` instead.
+ggplot(T,aes(y=T$T1_6H_R1,x=T$ExpT3))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT3` is discouraged.
+## ℹ Use `ExpT3` instead.
+## Warning: Use of `T$T1_6H_R1` is discouraged.
+## ℹ Use `T1_6H_R1` instead.
+ggplot(T,aes(y=T$T1_6H_R2,x=T$ExpT3))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT3` is discouraged.
+## ℹ Use `ExpT3` instead.
+## Warning: Use of `T$T1_6H_R2` is discouraged.
+## ℹ Use `T1_6H_R2` instead.
+# traitement 2 corrélation avec l'expression des genes du T1 T2 et T3
+
+ggplot(T,aes(y=T$T2_6H_R1,x=T$ExpT1))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT1` is discouraged.
+## ℹ Use `ExpT1` instead.
+## Warning: Use of `T$T2_6H_R1` is discouraged.
+## ℹ Use `T2_6H_R1` instead.
+ggplot(T,aes(y=T$T2_6H_R2,x=T$ExpT1))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT1` is discouraged.
+## ℹ Use `ExpT1` instead.
+## Warning: Use of `T$T2_6H_R2` is discouraged.
+## ℹ Use `T2_6H_R2` instead.
+ggplot(T,aes(y=T$T2_6H_R1,x=T$ExpT2))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT2` is discouraged.
+## ℹ Use `ExpT2` instead.
+## Warning: Use of `T$T2_6H_R1` is discouraged.
+## ℹ Use `T2_6H_R1` instead.
+ggplot(T,aes(y=T$T2_6H_R2,x=T$ExpT2))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT2` is discouraged.
+## ℹ Use `ExpT2` instead.
+## Warning: Use of `T$T2_6H_R2` is discouraged.
+## ℹ Use `T2_6H_R2` instead.
+ggplot(T,aes(y=T$T2_6H_R1,x=T$ExpT3))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT3` is discouraged.
+## ℹ Use `ExpT3` instead.
+## Warning: Use of `T$T2_6H_R1` is discouraged.
+## ℹ Use `T2_6H_R1` instead.
+ggplot(T,aes(y=T$T2_6H_R2,x=T$ExpT3))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT3` is discouraged.
+## ℹ Use `ExpT3` instead.
+## Warning: Use of `T$T2_6H_R2` is discouraged.
+## ℹ Use `T2_6H_R2` instead.
+# traitement 2 corrélation avec l'expression des genes du T1 T2 et T3
+ggplot(T,aes(y=T$T3_6H_R1,x=T$ExpT1))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT1` is discouraged.
+## ℹ Use `ExpT1` instead.
+## Warning: Use of `T$T3_6H_R1` is discouraged.
+## ℹ Use `T3_6H_R1` instead.
+ggplot(T,aes(y=T$T3_6H_R2,x=T$ExpT1))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT1` is discouraged.
+## ℹ Use `ExpT1` instead.
+## Warning: Use of `T$T3_6H_R2` is discouraged.
+## ℹ Use `T3_6H_R2` instead.
+ggplot(T,aes(y=T$T3_6H_R1,x=T$ExpT2))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT2` is discouraged.
+## ℹ Use `ExpT2` instead.
+## Warning: Use of `T$T3_6H_R1` is discouraged.
+## ℹ Use `T3_6H_R1` instead.
+ggplot(T,aes(y=T$T3_6H_R2,x=T$ExpT2))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT2` is discouraged.
+## ℹ Use `ExpT2` instead.
+## Warning: Use of `T$T3_6H_R2` is discouraged.
+## ℹ Use `T3_6H_R2` instead.
+ggplot(T,aes(y=T$T3_6H_R1,x=T$ExpT3))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT3` is discouraged.
+## ℹ Use `ExpT3` instead.
+## Warning: Use of `T$T3_6H_R1` is discouraged.
+## ℹ Use `T3_6H_R1` instead.
+ggplot(T,aes(y=T$T3_6H_R2,x=T$ExpT3))+
+ geom_boxplot()
+## Warning: Use of `T$ExpT3` is discouraged.
+## ℹ Use `ExpT3` instead.
+## Warning: Use of `T$T3_6H_R2` is discouraged.
+## ℹ Use `T3_6H_R2` instead.
+
+Analyse des boxplots : - traitement 1 (réplicats 1 et 2) Les genes
+sur-exprimés au T1 n’ont pas changé d’expression relativement à
+l’absence de traitement durant le T2. Il est difficile d’observer une
+catégorie de genes de T1 qui se soient sous exprimés dans T2. De même
+pour la sur-expression dans T2.
Ceux qui s’étaient sur-exprimés au T1 ont affiché aucun changement +semblent ne pas avoir changé d’expression au T3 ( relativement à +l’absence de traitement).
+Ceux qui n’avaient pas changés d’expression relative durant T1, se +sont sous exprimé ou sur exprimé. Il faut bien se rappeler que T1 ne +cible que très peu de genes donc ces observations sont cohérentes.
+En revanche, il est très clair que T2 et T3 ciblent les mêmes genes, +toutes les expressions relevées par T2 concordent aux modalités +qualitatives moyennes calculées sur T3.
+cr = cor(T[-c(37:39)])
+corrplot(cr,method="ellipse", type="lower", bg = "lightgrey")
+library(BioStatR)
+# Calculate eta² for Treatment 1
+print("T1 vs T2")
+## [1] "T1 vs T2"
+eta2(T$T1_6H_R1, T$ExpT2)
+## [1] 0.1874682
+eta2(T$T1_6H_R2, T$ExpT2)
+## [1] 0.1987298
+print("T1 vs T3")
+## [1] "T1 vs T3"
+eta2(T$T1_6H_R1, T$ExpT3)
+## [1] 0.1516016
+eta2(T$T1_6H_R2, T$ExpT3)
+## [1] 0.1423772
+print("T2 vs T3")
+## [1] "T2 vs T3"
+eta2(T$T2_6H_R1, T$ExpT3)
+## [1] 0.9022439
+eta2(T$T2_6H_R2, T$ExpT3)
+## [1] 0.8877959
+Le calcul du rapport de correlation eta² bien notre observation de la +grande similarité d’expression des genes traités avec T2 et T2 et la +dissimilarité des expression des genes lorsque la plante est traitée +avec T1 comparée à T2 et T3, chose normale au vu du peu de genes +affectés par T1.
+table(T$ExpT1,T$ExpT2)
+##
+## Non Sous Sur
+## Non 0 178 263
+## Sous 1 50 6
+## Sur 10 19 15
+table(T$ExpT1,T$ExpT3)
+##
+## Non Sous Sur
+## Non 0 178 263
+## Sous 0 51 6
+## Sur 7 18 19
+table(T$ExpT2,T$ExpT3)
+##
+## Non Sous Sur
+## Non 6 1 4
+## Sous 1 246 0
+## Sur 0 0 284
+Nouvelle confirmation de nos résultats de manière encore plus +précise, on observe que T1 ne change pas l’expression de la très grande +majorité des genes. Plus finement, on peut confirmer l’observation faite +sur les boxplots tendant à dire que le peu de genes s’étant sous +exprimés avec T1 se sont aussi sous-exprimés avec T2 et T3.
+La grande valeur des effectifs partiels sur la diagonale de la table +de contingence entre T2 et T3 montre bien la similarité de l’effet de +ces deux traitement sur l’expression des genes.
+Pour faire cela, nous devons transposer la matrice de données +originale qui elle décrivait les gènes (individus) en fonction des Tt sH +Rr. Nous décidons de faire directement une ACP sur un jeu de données +centrées réduites pour que chaque variable s’exprime avec la même force +dans les résultats et qu’ils soient lisibles.
+donnees_transposees = t(T[-c(37:39)])
+res_pca<-PCA(donnees_transposees,scale.unit=TRUE,graph=FALSE)
+res_pca$eig
+## eigenvalue percentage of variance cumulative percentage of variance
+## comp 1 385.4885605 71.12335064 71.12335
+## comp 2 56.8398561 10.48705833 81.61041
+## comp 3 18.8058681 3.46971736 85.08013
+## comp 4 17.3534861 3.20175019 88.28188
+## comp 5 16.2400069 2.99631123 91.27819
+## comp 6 9.3466113 1.72446702 93.00265
+## comp 7 6.3208427 1.16620715 94.16886
+## comp 8 4.6888314 0.86509805 95.03396
+## comp 9 2.8880421 0.53284909 95.56681
+## comp 10 2.6663658 0.49194941 96.05876
+## comp 11 2.4741195 0.45647962 96.51524
+## comp 12 1.8835315 0.34751504 96.86275
+## comp 13 1.7438070 0.32173561 97.18449
+## comp 14 1.6614064 0.30653255 97.49102
+## comp 15 1.5634400 0.28845757 97.77948
+## comp 16 1.2936620 0.23868302 98.01816
+## comp 17 1.2002743 0.22145283 98.23961
+## comp 18 1.0809897 0.19944460 98.43906
+## comp 19 0.8153461 0.15043286 98.58949
+## comp 20 0.7943348 0.14655624 98.73605
+## comp 21 0.7596276 0.14015270 98.87620
+## comp 22 0.6964670 0.12849944 99.00470
+## comp 23 0.6303898 0.11630808 99.12101
+## comp 24 0.6030871 0.11127068 99.23228
+## comp 25 0.5412364 0.09985912 99.33214
+## comp 26 0.4619356 0.08522796 99.41737
+## comp 27 0.4395132 0.08109100 99.49846
+## comp 28 0.4332061 0.07992733 99.57838
+## comp 29 0.4110199 0.07583392 99.65422
+## comp 30 0.3506662 0.06469855 99.71892
+## comp 31 0.3429738 0.06327930 99.78220
+## comp 32 0.3356932 0.06193601 99.84413
+## comp 33 0.3238087 0.05974330 99.90388
+## comp 34 0.2870588 0.05296288 99.95684
+## comp 35 0.2339343 0.04316132 100.00000
+fviz_eig(res_pca)
+
+Ce graphique représente les valeurs propres de la matrice de corrélation
+du jeu de données centré réduites. L’inertie totale des données étant la
+somme des valeurs propres ( qui elles sont les inerties axiale associées
+à l’axe de vecteur directeur un vecteur propre associé ), chaque valeur
+propre est donc une fraction de l’inertie totale. On voit qu’on dépasse
+80% de l’inertie totale des points rien qu’avec les deux premieres
+valeurs propres, on en prend donc deux vectueurs propres associés
+respectivement à chacune de ces deux valeurs propres comme axes
+principaux de l’analyse.
fviz_pca_ind(res_pca,label="all")
+fviz_pca_var(res_pca,axes=c(1,2),label="none")
+
+Contexte : les relevés aux heures sont décrits par les gènes ( les gènes
+sont considérés comme les variables).
On voit que les genes se polarisent principalement sur l’axe 1 dans +un sens ou l’autre. Les flèches sont d’une longueur presque du rayon du +cercle, indiquant une participation très forte des genes dans la +variance expliquée par ces dimensions. Il n’y a pas de tendance +particulière sur la direction selon l’axe 2 des flèches : Dans chaque +“polarité” de fleches selon l’axe 1, il y a des fleches dont la +direction est negative d’autres positive selon l’axe 2.
+Le traitement 1 est entièrement groupé sur des valeurs très negatives +de l’axe 1. On remarque dans ce groupement la présence des T3 et T4 à la +première heure de relevés d’expression des gènes.
+axe 1: force du changement d’expression des gènes : si on +sur-exprime/sous-exprime de beaucoup ( genre 0=>5) ou pas, +polarisation ?
+axe 2 : vers le haut => ça va changer d’expression bientot, vers +le bas => ça se stabilise ( donc les genes pointant vers le haut +changent d’expression, et ceux vers le bas ont tendance à rester plutot +pareil )
+En regardant le graphe des individus (résultats aux heures de +relevés), on a effectivement les heures groupées à des valeurs negatives +de l’axe 1 correspondant aux relevés du traitement 1 qui, souvenons-nous +toujours des histogrammes, ne change l’expression relative que de très +peu de gènes.
+Pour l’interprétation du second axe, les gènes semblent y être +positivement et negativement corrélés quel que soit leur correlation +avec l’axe 1. En regardant les individus, on observe que plus l’heure +est tardive, plus ils tendent vers des valeurs negatives sur l’axe 2. De +plus, on observe que les points liés aux relevés du traitement 1 ne vont +pas énormément vers les valeurs positives. Il semble donc que l’axe 2 +soit indicateur des expressions des gènes sont susceptibles de +changer.
+# que 50 gènes sinon c'est le bordel
+corrplot(res_pca$var$cor[1:50,],method="ellipse", type="lower", bg = "lightgrey")
+MAIS C’EST INBUVABLE
+fviz_pca_ind(res_pca,axes = c(1,3),geom=c("point"))
+fviz_pca_ind(res_pca,axes = c(1,4),geom=c("point"))
+fviz_pca_ind(res_pca,axes = c(1,5),geom=c("point"))
+