Professional Documents
Culture Documents
Dpartement de sciences biologiques Universit de Montral Marie-Hlne Ouellette, Guillaume Blanchet, Daniel Borcard, Sbastien Durand et Guillaume Bourque (par ordre chronologique) 16/11/07 13:31
Les formules
Nous avons vu que les fonctions acceptent comme arguments soit des vecteurs, des matrices ou des data.frames . Or, ils acceptent galement des formules. Les formules sont des lments cls des analyses statistiques avec R : en effet, la notation utilise est la mme pour la majorit des tests statistiques. Une formule est typiquement de la forme y ~ x1 + x2 + x3 o y est la variable rponse analyse, le symbole ~ signifie est dpendant de , et x1 + x2 + x3 sont les termes pour lesquels des paramtres seront estims, pour produire un modle de la forme y = b0 + b1x1 + b2x2 + b3x3 . Dans le cadre de ce cours, vous nutiliserez que des fonctions simples du genre y ~ x .
Approfondissement FACULTATIF
Voici un exemple de la structure de base des formules :
Reponse ~ Op_1 Term_1 Op_2 Term2 Op_3 Term_3
Reponse
~
Op_i
Term_i
Un vecteur ou une matrice (ou une expression) qui dfinit la ou les variable(s) rponse(s). Ce symbole veut dire "en fonction de" Un oprateur (symbole arithmtique), qui a ici une signification particulire (la description des oprateurs est donne plus bas). Notez que le premier oprateur Op_1 est optionnel. Le terme peut tre maintes choses, il peut tre un vecteur, une matrice, un 1, un facteur ou mme une formule (Hey oui, une formule dans une formule).
Bio2041
Par dfaut, loprateur et le terme +1 est inclus dans une formule. Ce +1 dfinit en soi, une colonne pour lordonne lorigine. Dans le cas prsent, le +1 est mis zro ce qui force la rgression passer par lorigine (idem pour y~x+0, ou 0+y~x).
On voit que les oprateurs arithmtiques de R ont dans une formule un sens diffrent de celui quils ont dans une expression classique. Par exemple, la formule y ~ x1 + x2 dfinira le modle y = b1x1 + b2x2 +a , et non pas (si loprateur + avait sa fonction habituelle) y = b(x1 + x2) + a .
I( )
On utilise cette fonction pour inclure des oprations arithmtiques dans une formule ; la formule y~I(x1+x2) dfinira alors le modle y = b(x1 + x2) + a .
Aussi, la formule log(y) ~ x1 + x2 , effectue la rgression multiple de la variable transforme log(y) avec une ordonne lorigine implicite. Finalement, il faut comprendre que lorsquon crit une formule il faut : 1. Que les termes que lon utilise aient t dfinis pralablement 2. Que nous mentionnions la fonction, qui va utiliser la formule, o se trouvent ces termes. Gnralement, les termes seront stocks indpendamment dans la mmoire de la console ou les diffrents termes peuvent tre accumuls sous forme de liste, de data.frame ou de matrice et passs la fonction. Dans votre cas, vous naurez qu utiliser des fonctions simples du genre y ~ x .
Bio2041
2. Supposons maintenant que notre hypothse H1 est qu'il y a une corrlation positive entre les deux variables (test unilatral droite), puisque des patates plus grosses auraient plus de germes. Pour calculer la corrlation de Kendall entre nos deux variables, voici deux faons d'crire la mme commande :
cor.test(Patate[,1], Patate[,2], alternative = "greater", method="kendall")
ou
cor.test(Patate$Nb_germes, Patate$Longueur, alternative = "greater", method="kendall")
Je vous suggre ardemment daller consulter laide de la fonction cor.test afin que vous puissiez aller chercher plus dinformation concernant lutilisation de ses arguments (spcialement pour les arguments alternative et method ). Voici la sortie produite par R :
Kendall's rank correlation tau data: Patate$Nb_germes and Patate$Longueur T = 5, p-value = 0.1667 alternative hypothesis: true tau is greater than 0 sample estimates: tau 0.6666667
Et voil, la statistique est calcule et teste!! Le de Kendall vaut donc 0.6667 et la probabilit sous H0 associe la statistique calcule est 0.1667 . Selon de ce rsultat, doit-on rejeter H0 ou non ?
Bio2041
Description de laffichage de la fonction cor.test pour une corrlation de Pearson Sur ce mme exemple, le rsultat pour la corrlation de Pearson est le suivant:
Pearson's product-moment correlation data: Patate$Nb_germes and Patate$Longueur t = 1.8856, df = 2, p-value = 0.1 alternative hypothesis: true correlation is greater than 0 95 percent confidence interval: -0.4976979 1.0000000 sample estimates: cor 0.8
Le r de Pearson vaut donc 0.8 , son intervalle de confiance 95% est [0.4977, 1.0000] , la statistique t associe au r vaut 1.8856 et sa probabilit sous H0 vaut 0.1 . Doit-on rejeter l'hypothse nulle ? votre tour dy rflchir !
Pour de l'information sur les paramtres de la fonction, consultez laide de la fonction lm( ) . Notez lutilisation de largument data : il dit la fonction dans quel data.frame aller chercher les colonnes Longueur et Nb_germes. Si on affiche les rsultats de cette fonction en appelant simplement l'objet Patate.lm, on obtient les valeurs de lordonne lorigine (Intercept) et la pente pour la variable Nb_germes. Pour obtenir plus dinformations sur les rsultats de la rgression (ce qui sera sans doute trs utile pour vous !!), utilisez la fonction summary( ) sur lobjet Patate.lm .
summary( Patate.lm )
Bio2041
Cest la commande que vous avez lance pour obtenir le rsultat affich. Ce tableau nous donne les rsidus de la rgression, c'est--dire la diffrence entre les valeurs observes (relles) de y et les valeurs prdites par le modle de rgression. Par exemple, pour la premire ligne de notre tableau, o Nb_germes (x) = 1 et Longueur (y) = 4, ont obtient ici : y observ: y=4 y prdit: y-chapeau = ax + b = 0.8 * 1 + 3.5 = 4.3 rsidu: y y-chapeau = 4 4.3 = 0.3 La liste exhaustive des rsidus n'apparat que lorsque l'effectif (n) est plus petit que 8 (8 paires de x et y). Pour n 8, ce sont les minimum, premier quartile (1/4 des donnes ordonnes), mdiane (1/2), troisime quartile (3/4) et maximum qui sont retourns par la fonction summary( ). Ceci permet de voir la distribution des rsidus. Voici un exemple :
Residuals: Min 1Q Median -4.2816 -1.8269 -0.2371 3Q 1.9454 Max 4.7184
La valeur des coefficients b (ligne "Intercept", = l'ordonne l'origine) et a (ligne "Nb_germes", = la pente pour la variable Nb_germes); dans cet exemple, l'quation de rgression (y = ax + b) est donc : y-chapeau = 0.8x + 3.5 Std. Error Lerreur type de l'ordonne l'origine et de la pente, qui servent pour calculer les intervalles de confiance de ces paramtres. t value La valeur de la statistique t associe l'ordonne l'origine et la pente, pour en tester la signification. Pr (>|t|) La probabilit bilatrale de chaque coefficient sous H0. Cest la probabilit qu'on puisse rencontrer de telles valeurs absolues de a ou b si H0 est vraie. Si la probabilit est 0.05, une ou plusieurs toiles apparatrons sa droite suivant la lgende donne.
Corrlation et rgression linaire simple
Bio2041
La valeur du coefficient de dtermination R2 ainsi que la valeur corrige qui tient compte de la proportion entre le nombre d'observations et le nombre de variables explicatives. La statistique F du rapport entre variance explique et variance rsiduelle de la rgression, et la probabilit de F sous H0, qui est donc le test de signification global du modle de rgression. Observez que dans ce cas-ci (rgression linaire simple seulement), la valeur de F (3.556) est le carr de la valeur de t associe la pente (1.886).
F-statistic
Laffichage de vos donnes et de votre rgression linaire simple Dans un premier temps, il faut trouver o sont stockes les donnes de sortie de la rgression. Ouvrez laide de la fonction lm( ) . Lisez la section Value afin de trouver lobjet qui contient la courbe de rgression. Sil vous plat, faites ltape prcdente. Lobjet en question est fitted.values Vous pouvez regarder les donnes de cet objet en tapant :
Patate.lm$fitted.values
Noubliez pas dajouter votre titre gnral; pour ce faire, consulter le document GuideMacTextWranglerR.pdf la section Produire un histogramme de frquences . Pour changer le nom des axes, utilisez les arguments xlab et ylab dans la fonction plot( ) (voir la section sur l'histogramme pour plus de dtails).
Bio2041