---title: "Statistiques Descriptives avecr R"---## Présentation de `R`- `R` est un langage de programmation et un logiciel de calcul scientifique.- `R` est orienté pour l'analyse de données et pour les modèles statistiques.- `R` est un langage interprété ne nécessitant pas un compilateur.- `R` est à typage dynamique: Les variables peuvent être crées automatiquement par `R` lors de la première affectation.:::{#exr-}```{r}# Créer les variables a, b et ca =10b =5c =3# Afficher les valeurs des variablesprint(a)print(b)print(c)# Afficher a+bprint(a+b)# Affecter 2a-b à une nouvelle variable dd =2*a-b# Afficher dprint(d)```:::## Structure des donnéesL'objet de base de `R` est le **vecteur**: Tout est d'abord **vecteur** sous `R`.```{r}length(a) #<1>```### *Vector* comme objet de base#### Manipulation de baseSous `R`, l'objet de base de le **Vecteur**, c'est à dire un tableau de données de même type.```{r}# Ajoutons 7 au vecteur aa[2] =20print(a)```**Accéder aux éléments d'un vecteur par `[]`**```{r}# Lirea[1]# Modifier (muter)a[1] =0print(a)```**Saisir les éléments d'un vecteur**- Uitilisation de `c` (pour `concatenate`)```{r}# Exemplex =c(1.50, 1.49, 1.75, 1.67, 1.90)```**Fonctions usuelles**```{r}# Longueur de xlength(x)# La sommesum(x)# La amoyennemean(x)# Multiplication par un réel2*x# Maximummax(x)# Minimummin(x)```**Fonction vectorisée**Les fonctions de base de `R` sont vectorisées: Pour un vecteur $x=\left(x_1,\cdots,x_n\right)$, $f(x)=\left(f(x_1),\cdots,f(x_n)\right)$.```{r}cos(x)```## Exemple de manipulation d'un jeu de donnéesNous considérons le jeu de données `iris` déjà disponible sous `R`.```{r}# Afficher les premières ligneshead(iris)``````{r}# Afficher les dimensionsdim(iris)# Nombre de lignes (individus)nrow(iris)# Nombre de colonnes (variables)ncol(iris)# Les noms des variablesnames(iris)```**Sélectionner des colonnes**```{r}# Sélectionner la conne jiris[,1]# On peut aussi utiliser les nomsiris[, "Sepal.Length"]# Avec $iris$Sepal.Length# Sélectionner les colonnes 1 et 2iris[, c(1, 2)]```### Statistiques descriptives univariées#### Variable continue**Statistiqes**```{r}# Moyennemean(iris$Sepal.Length)# Variancevar(iris$Sepal.Length)# Écart-typesd(iris$Sepal.Length)# Médianemedian(iris$Sepal.Length)# Les quartilesquantile(iris$Sepal.Length)# Étendumax(iris$Sepal.Length) -min(iris$Sepal.Length)```**Graphiques**```{r}# Histogrammehist(iris$Sepal.Length, breaks =c(4, 5, 5.5, 6, 6.5, 7, 8), col="purple")``````{r}# Boîte à moustachesboxplot(iris$Sepal.Length, col="steelblue", border ="coral")```### Variable qualitative**Tableau Statistique**```{r}# Tableau des effectiftable(iris$Species)# Les frequencesn =nrow(iris)table(iris$Species)/n# Modetab =table(iris$Species)which.max(tab)```**Graphiques**```{r}# Diagramme à barrestab =table(iris$Species)barplot(tab, col="red", border =FALSE)# Diagramme circulaire (pie chart)pie(tab)```### Statistiques descriptives bivariées### Deux variables quantitatives**Coefficient de corrélation**```{r}cor(iris$Sepal.Length, iris$Sepal.Width)``````{r}# Nuqge de pointsplot(iris$Sepal.Length, iris$Sepal.Width, col=iris$Species, pch=20)```### Variable quantitative vs Variable qualitative```{r}# Moyennes par espècestapply(iris$Sepal.Length, iris$Species, mean)# Variancetapply(iris$Sepal.Length, iris$Species, var)``````{r}boxplot(iris$Sepal.Length ~ iris$Species, col ="coral")``````{r}n =nrow(iris)tss = (n-1)*var(iris$Sepal.Length)variancesIntra =tapply(iris$Sepal.Length, iris$Species, var)effectifs =tapply(iris$Sepal.Length, iris$Species, length)wss =sum(variancesIntra * (effectifs -1))bss = tss - wsseta2 = bss/tsscat("Rapport des corrélations: ", eta2, "\n")```### Variable qualitative vs Variable qualitative```{r}eff =matrix(c(45, 70, 60, 30, 25, 50), nrow=2)colnames(eff) =c("Pop", "Rock", "Classic")rownames(eff) =c("H", "F")eff``````{r}chi2 =chisq.test(eff)$statisticchi2V =sqrt((chi2)/(sum(eff)*min(3-1, 2-1)))V```