R peut tracer la courbe d’une fonction f(x) pour peu qu’on connaisse sa formule et qu’on lui fixe des bornes.  curve(expr=1/(sqrt(2*pi)*0.3)*exp(-((x-0)^2/(2*0.3^2))), from=-1.5, to= 1.5) La fonction curve() prend (entre autres) comme argument expr (l’expression de la fonction, ici la densité de probabilité de la loi normale), from (la borne inférieure de l’intervalle à tracer) et to (la borne supérieure de l’intervalle à tracer) Par défaut curve() utilise un paramètre n fixé à 101 : c’est le nombre de x compris entre from et to qui seront évalués par l’expression renseignée dans expr. Plus n est petit, plus la courbe sera « anguleuse »Read More →

jdd <- data.frame(deslettres=letters[1:10],                   desnombres=seq(1:10),                   desfacteurs=c(rep(« oui »,5), rep(« non », 5))) levels(jdd$deslettres) [1] « a » « b » « c » « d » « e » « f » « g » « h » « i » « j » # il y a 10 niveaux pour la variable qualitative « deslettres » # en filtrant sur les nombres…. library(dplyr) unextrait<-filter(jdd,desnombres > 5) levels(unextrait$deslettres) [1] « a » « b » « c » « d » « e » « f » « g » « h » « i » « j » # …le nouveau jeu de données garde les anciens noms de niveaux de « deslettres » Pour s’en débarrasser, depuis R 2.12.0, la fonction droplevels() rend cette opération aisée… # …sur tout le jeu de données :  droplevels(unextrait) summary(unextrait) # …sur une variable en particulier : droplevels(unextrait$deslettres) summary(unextrait) # …sur tout le jeuRead More →

La fonction PCA() permet d’effectuer une ACP. library(FactoMineR) res_pca <- PCA (iris, quali.sup=5) #On réalise une ACP sur les 4 variables quantitatives du jeu de données iris #La 5ème variable qui correspond au nom de la variété est qualitative #Nous plaçons cette variable en supplémentaire, #cette variable ne participera donc pas à la construction de l’ACP, #mais elle apportera de l’information supplémentaire   plot.PCA(res_pca,col.quali= »blue », label= »quali ») #La fonction plot.PCA contient de nombreux paramètres modulables #ici nous choisissons la couleur de la variable qualitative #et de cacher l’étiquette des individus grâce au paramètre « label »   Pour pouvoir décrire les résultats de cette analyse nous avons besoin d’étudierRead More →

Contrairement à la fonction residuals(), la fonction rstudent() permet d’obtenir des résidus de même variance. Ce critère est nécessaire pour pouvoir étudier et comparer les résidus. reg_simp <- lm(Sepal.Length~Petal.Length, data=iris) #On réalise une régréssion linéaire   residus=rstudent(reg_simp) #On calcule les residus   plot(residus, ylab= »Résidus ») #On represente les résidus dans un graphique   abline(h=c(-2,0,2), lty=c(2,1,2)) #La fonction abline permet d’ajouter des droites d’ordonnées -2, 0 et 2 En théorie, 95% des résidus se trouvent dans l’intervalle [-2,2]. C’est le cas ici puisque seulement 4 individus sur 150 sont en dehors de cet intervalle. Les individus à l’extérieur de l’intervalle sont des individus extrêmes.   Read More →

La régression linéaire simple permet de modéliser une relation linéaire entre deux variables quantitatives dans le but d’expliquer un phénomène ou de le prédire. #On commence par représenter les données : plot(Sepal.Length~Petal.Length, data=iris) #On constate que la relation entre la largeur des sépales et celle des pétales semble être linéaire   #On estime les paramètres : Reg.simp <- lm(Sepal.Length~Petal.Length, data=iris)   #Call: #lm(formula = Sepal.Length ~ Petal.Length, data = iris)   #Residuals: #     Min       1Q   Median       3Q      Max #-1.24675 -0.29657 -0.01515  0.27676  1.00269   #Coefficients: #             Estimate Std. Error t value Pr(>|t|)    #(Intercept)   4.30660    0.07839   54.94   <2e-16 *** #Petal.Length  0.40892    0.01889   21.65   <2e-16 *** #— #Signif. codes: Read More →

Le test d’égalité teste l’hypothèse H0 : µ1 = µ2. La puissance d’un test est la probabilité de rejeter l’hypothèse H0 sans commettre une erreur, c’est-à-dire lorsque µ1 est effectivement  différente de µ2.   Nous voulons donc calculer la puissance du test avec un nombre n d’individus grâce à la fonction power.t.test().   Exemple : dans une expérience nous avons un écart type de 1.7, une moyenne de 1 et on prend le seuil classique α=5%. On calcule la puissance du test avec 15 individus par groupe. power.t.test(n=15, delta=1, sd=1.7, sig.level=0.05)$power [1] 0.3430475     Si l’on décide de n’utiliser que 15 individus dans l’expérimentation, alors onRead More →

Les conditions permettent d’exécuter une commande en fonction d’une ou plusieurs conditions. La forme la plus simple s’écrit :   if (condition){ +    commande1 +    commande2 +    … +}   Exemple :   B<-TRUE x<-2   if (B==TRUE){      x<-x+1      y<-10 }   x [1] 3 y [1] 10   Dans ce cas là si B est différent de TRUE rien n’est effectué. Pour ajouter une des commandes lorsque que la première condition n’est pas vérifiée on utilise else :   if (condition){ +    commande1 +    commande2 +    … } else (condition){ +    commande1 +    commande2 +    … +}   Exemple : B<-FALSE x<-2   if (B==TRUE){     Read More →

La loi Gamma ou d’Euler est une loi très utiles pour les propriétés de décroissance rapide. La loi Gamma peut décrire des phénomènes de durée de vie, pour l’étude du temps écoulé entre deux faits.   Sur R, les options shape et scale correspondent respectivement α et β. Nous pouvons calculer la densité de probabilité de la loi G(1,3) pour la valeur x=2 grâce à la fonction dgamma() : X<-2alpha<-1beta<-3 dgamma(x,shape=alpha,scale=beta)    Nous pouvons calculer la probabilité que x soit inférieur ou égal à 2 sur la loi G(1,3), c’est-à-dire calculer la fonction de répartition F(2) grâce à la fonction pgamma() : X<-2alpha<-1beta<-3 pgamma(x,shape=alpha,scale=beta)     Nous pouvons également calculer la probabilité que x soit supérieur à 2 sur la loi G(1,3) : X<-2alpha<-1beta<-3Read More →