Etude de l'effet d'un paramètre sur la germination

Le graphique à réaliser

Mots clefs : courbe avec intervalles de confiance avec le logiciel R - R Project CRAN - avec barres d'erreur - intervalles de confiance - graphique avec légende - couleur - type de trait et de points -  légende superposée avec le logiciel R - librairie plotCI - Chi2 - Khi2 - Chi² - Khi² - χ² - χ2

Librairie nécessaires : gplots

Courbes à barres d'erreur avec le logiciel R

Pourcentage de graines germées en fonction du temps et de la température

Les données traitées dans l'exemple

Exemple de mise en forme des données dans un tableau

TP1_simulation_T.xlsx

1- Le traitement des données sous le logiciel R

1- Ouvrir les données sous R

# Ouvrir le fichier tabulé 

setwd("C:/adresse") 

file = read.xlsx("TP1_simulation_T.xlsx") 

# ATTENTION : vérifier que le fichier finit bien par .xlsx

# Renommer le contenu des colonnes : on peut aussi le faire automatiquement avec la fonction attach()

colnames(file) ; Temps = file$Temps ; Germination = file$Germination ;  

Temperature = file$Temperature ; Modalite = file$Modalite  

Remarque 1 : on peut aussi faire un tableau Excel à ouvrir avec la commande read.xlsx() de la librairie openxlsx.

Remarque 2 : le nom du fichier peut être remplacé par file.choose()

2- Calculer les moyennes pour chaque température et chaque valeur de temps

2.1 - Approche 1 - Niveau débutant (lourd et long)

2.1.1.- Récupérer les données de Germination et de Temps par température testée

# Créer des listes contenant les valeurs de germination et de Temps pour chaque température 

G18 = Germination[Temperature==18] # Données de germination sur la température de 18°C 

G18_tps = Temps[Temperature==18] # Date de relevées pour une température de 18°C

Remarque : cette étape n'est pas nécessaire si on maîtrise la fonction by() ci-après.

2.1.2.-  Calculer les moyennes pour chaque valeur de temps avec la fonction by() (cliquer pour accéder à l'aide)

by(G18,G18_tps,mean)->moyennes

x18 <- as.numeric(names(moyennes))

y18 <- moyennes

2.2 - Approche 2 - Niveau plus avancé (rapide) - Calculer les moyennes croisées pour chaque valeur de Temps et Température avec by()

by(Germination,file[,c(1,3)],mean)->moyennes # On calcule toutes les moyennes pour chaque valeur de la colonne 1 (Temps) et chaque valeur de la colonne 3 (Température)

#Astuce : faire ftable(moyennes) pour visualiser

x4 <- as.numeric(names(moyennes[,1]))

y4 <- moyennes[,1]

IL EST IMPÉRATIF DE COMPRENDRE COMMENT FAIRE USAGE DE by().

3- Calculer les intervalles de confiance sur des proportions

# Cette commande permet de calculer des intervalles de confiance sur des proportions 

ic18 = int.prop(y18/100,200,0.95) * 100 # *100 pour avoir des % 

Faire de même pour les température à 4°C et 30°C 

4-  Évaluer la significativité de l'effet de la température par un test de Khi2

KHI 2 d'indépendance 

4.1.- Approche 1 - Débutant - lourde et fastidieuse (mais facile à comprendre)

# Nombre de graines germées pour différentes températures au bout de 8 j 

G_T4 = sum(Germination[Temperature==4&Temps==8]) 

G_T18 = sum(Germination[Temperature==18&Temps==8]) 

G_T30 = sum(Germination[Temperature==30&Temps==8]) 

# Nombre de graines non-germées pour différentes températures au bout de 8 j (mettre la valeur de temps final de votre expérience)

# Le nombre totale de graines par température testée est ici de 200 graines (2 boîtes). 

noG_T4 = 200-G_T4 

noG_T18 = 200-G_T18 

noG_T30 = 200-G_T30 

matrice = matrix(c(G_T4, G_T18, G_T30, noG_T4, noG_T18, noG_T30),nrow=2, byrow=T); 

colnames(matrice)<-c(4,18,30) ;  rownames(matrice)<-c("Germées","Non germées") 

matrice 

4.1.- Approche 2 - Avancé- facile (mais difficile à comprendre)

# Calculer le nombre de graines germées pour chaque température testée à Temps = 8 jours (à vous de choisir la bonne valeur de temps !!!)

by(Germination[Temps==8],Temperature[Temps==8],sum) -> G_sommes

noG_sommes <- rep(200,3) - G_sommes

matrice = matrix(c(G_sommes,noG_sommes),nrow=2,ncol=3,byrow=T)

colnames(matrice)<-c(4,18,30) ;  rownames(matrice)<-c("Germées","Non germées") 

khi_result = chisq.test(matrice);khi_result 

#Si la p-value est > à 0.05, pas de différence significative... 

# L'interprétation d'un tel Khi2 est à mettre sous le graphique. 

2- Tracer le graphique avec le logiciel R

1- Charger les librairies nécessaires

# Charger les librairies nécessaires 

# Librairies nécessaires - commandes pour les installer  

# (optionnel - ne pas faire si cela a déjà été fait une fois) 

# Retirer les  # pour activer ces lignes 

# install.packages("gplots") 

##### Chargement des librairies ##### 

# Chargement des librairies 

library(gplots) 

2- Tracer le graphique

# Tracer les courbes avec plot et points - plotCI permet d'ajouter les points et les barres d'erreur. La fonction plotCI peut être utilisée seule (type = "o") mais les types de trait des barres d'erreur et courbes seront les mêmes. 


# ETAPE 1 - plot permet de tracer la première courbe 

plot(x=x18, y=y18, type="l" ,sub="Le test Chi² donne une p-value de XXXXXXX" ) 

# Type = "l" permet de tracer juste la ligne, il faudra ajouter par la suite les points et barres d'erreur 

# sub permet d'ajouter un sous-titre indiquant les valeurs de la khi2 

# A ajouter comme paramètres dans cette ligne : 

    # xlab et ylab pour les titres des axes 

    # lty et col pour changer le type de trait 


# ETAPE 2 - plotCI permet d'ajouter ou des courbes ou des points avec barres d'erreur - aide sur plotCI 

plotCI(x=x18, y= y18, uiw= ic18 , type="p", add=TRUE,gap=0) 

    # add = permet de superposer ces données à l'ancien graphique 

# A ajouter comme paramètres dans cette ligne : 

         #  pch et col pour modifier les points  

    #  gap pour moduler l'espace séparant les points et les barres d'erreur 

     

# ETAPE 3 -  il faut donc continuer d'utiliser plotCI pour ajouter les autres courbes et points 

3-  Ajouter la légende 

legend("topleft", c("4°C", "18°C", "30°C"), lty=c(1,2,3), pch=c(16,17,15), lwd=c(1,1,2), col=c("blue","green","red")) # Voici un exemple de légende : il faut modifier lty, pch, lwd et col pour que cela correspondent aux ajouts réalisés