top of page

FONCTIONS USUELLES

Des fonctions très utiles en statistique sont min( ), max(), mean( ) et sum( ), elles permettent de calculer des statistiques comme le minimum, le maximum, la moyenne, la variance, l'écart type et la somme des valeurs d’un objet (de classe vector par exemple).

 

Salaires = c(1230, 1450, 5800, 2560, 1580, 2600, 3770)

# Indicateurs de tendance centrale :

mean(Salaires) # Moyenne empirique

min(Salaires) # Minimum

max(Salaires) # Maximum

median(Salaires) # Médiane empirique

# Indicateurs de dispersion :

var(Salaires) # Variance estimée (corrigée pour ne pas avoir de biais). ((n-1)/n)*var(x) pour obtenir la variance empirique (avec biais).

sq(Salaires) # Écart-type estimé (corrigé pour ne pas avoir de biais). (sqrt((n-1)/n))*sd(x) pour obtenir l'écart-type empirique (avec biais).

(sqrt((n-1)/n)*sd(x)) / mean(x) # Coefficient de variation empirique

quantile(x, 0.25) # Premier quartile de x

summary(Salaires) # Minimum, premier quartile, médiane, moyenne, troisième quartile et maximum

sum(Salaires) # Somme

À savoir : pour les objet de type booléen, les valeurs TRUE valent 1 et les valeurs FALSE valent 0. Donc la somme d’un objet de type booléen correspond au nombre de valeurs TRUE.  

Avec la fonction colMeans( ), on peut calculer la moyenne de chacune des colonnes d’un tableau et avec la fonction rowMeans( ), on peut calculer la moyenne de chacune des lignes d’un tableau.

​​De plus, si vous avez des données manquantes (NA : Not Available) dans votre tableau, la moyenne aura pour valeur NA. Pour faire abstraction des données manquantes, on utilise donc l’option na.rm=TRUE (rm : remove (retirer)).

 

colMeans(Tableau,na.rm=TRUE) # Calcule la moyenne de chacune des colonnes de l’objet nommé Tableau sans tenir compte des données manquantes.

rowMeans(Tableau,na.rm=TRUE) # Calcule la moyenne de chacune des lignes de l’objet nommé Tableau sans tenir compte des données manquantes.

Dans une analyse statistique, il peut être utile d'avoir les effectifs et les fréquences (effectifs en pourcentage) des modalités d'une variable qualitative. Cela se fait avec les fonctions table et prop.table.

table(Tableau$Var1) # Effectifs des modalités de la variable qualitative Var1 présente dans la tableau.

prop.table(table(Tableau$Var1)) # Fréquences des modalités de la variable qualitative Var1 présente dans la tableau.

Avoir les effectifs et les fréquences d'une variable qualitative peut être très utile pour représenter à l'aide d'un graphique (barplot() par exemple) la distribution des modalités d'une variable.

Pour avoir la longueur (nombre de valeurs / observations) d’un objet de classe vector, on utilise la fonction length( ).

 

length(Salaires) # Il y a 7 valeurs dans l’objet Salaires.

 

Pour avoir le nombre de lignes et de colonnes d’un objet de classe matrix ou data.frame, on utilise respectivement les fonctions nrow() et ncol().

nrow(Tableau) # Nombre de lignes de l'objet Tableau.

ncol(Tableau) # Nombre de colonnes de l'objet Tableau.

Il est parfois utile d’arrondir un résultat. Pour cela, on utilise la fonction round( ). On précise le nombre de décimales avec le paramètre digits.

 

round(7/3,digits=2) # Arrondie 7/3 avec deux décimales.

round(mean(Salaires),digits=1) # Arrondie la moyenne des salaires avec une décimale.

Il peut être utile de sélectionner juste un bout de chaîne de caractère dans une chaîne de caractères. Cela se fait avec la fonction substring().

substring(ChaîneCaractères, first=i, last=j) # Renvoie la chaîne de caractère présente entre le ième et jème caractère.

substring("Bonjour tout le monde", first=7, last=11) # Renvoie la chaîne de caractère présente entre le 7ème et 11ème caractère.

La fonction strsplit() manipule aussi des chaînes de caractères. En effet, elle permet de décomposer une chaîne de caractères selon un caractère.

strsplit(ChaîneCaractères, split="...") # Décompose la chaîne de caractère selon le caractère ...

strsplit("Bonjour STID France", split=" ") # Décompose Bonjour STID France en fonction des espaces. Ici la chaîne de caractère est décomposée en 3 mots.

unique() est une fonction utile car elle permet de supprimer les doublons (valeur redondante /non unique) d'un objet.

unique(Salaires) # Supprime tous les doublons de l'objet Salaires.

Pour avoir les rangs / numéros d'observation des valeurs d'un objet, on utilise la fonction rank().

rank(Salaires) # Affiche le rang de chaque valeur de l'objet Salaires. Le rang de deux valeurs ex-aequos correspond à la moyenne des deux rangs.

Il y a 3 fonctions principales pour ordonner des données : sort(), order(), rev().

 

sort(Salaires) # Range par ordre croissant les données de l’objet Salaires.

order(Salaires) # Range par ordre croissant les rangs des données de l’objet Salaires.

rev(Salaires) # Range les données de l’objet Salaires par ordre inverse de l’état initial.

 

Si l’on souhaite ranger les données par ordre décroissant, il faut ajouter le paramètre decreasing=TRUE.

 

sort(Salaires, decreasing=TRUE)

order(Salaires, decreasing=TRUE)

 

 

Afin d’éviter de recopier manuellement une suite continue de nombres, on peut utilise la fonction seq(). Cette fonction permet d'afficher une suite de nombres. Elle admet 4 paramètres : from (nombre de départ), to (nombre d’arrivé), length (nombre de d’élément / nombre) et by (intervalle).

seq(from=0, to=1, by=0.1) # Affiche une suite de nombres allant de 0 à 1 avec un intervalle de 0,1.

seq(0, 1, 0.1) # Affiche une suite de nombres allant de 0 à 1 avec un intervalle de 0,1.

seq(from=0, to=1, length=10) # Affiche 10 nombres allant de 0 à 1.

seq(from=0, length=10, by=0.1) # Affiche 10 nombres avec un intervalle de 0,1. Le premier chiffre de la suite est 0.

 

Vous l’aurez sûrement compris, les quatre exemples ci-dessus affichent la même suite de nombres.

 

La fonction seq() marche aussi avec les objets de classe date. Cela d'afficher une suite de dates.

 

début=as.Date("01/01/2018",format="%d/%m/%Y")
fin=as.Date("31/12/2018",format="%d/%m/%Y")
dates=seq(from=début, to=fin, by="7 days") # Affiche toutes les dates présentent entre la date de début et de fin avec un intervalle de 7 jours.

Voici 4 fonctions permettant d'avoir des informations sur un objet de classe date.

weekdays(dates) # Affiche le jour de la semaine correspondant à la date.
months(dates) # Affiche le mois correspondant à la date.
quarters(dates) # Affiche le trimestre correspondant à la date. 
julian(dates) # Affiche le nombre de jours depuis le 1er janvier 1970. Équivalent à as.numeric(dates).

 

La fonction rep() permet de répéter une structure d'éléments (chiffes et/ou chaînes de caractères) autant de fois que voulu. Elle admet 2 paramètres : times (nombre de répétition de la structure) et each (nombre de répétition de chacun des éléments de la structure).

 

rep(6, times=10) # Affiche 10 fois le chiffre 6.

rep("Hello", 2) # Affiche 2 fois le mot Hello.

rep(c("H", "A"), times=5, each=2) # Affiche 5 fois la structure H H A A.

 

Pour afficher une structure avec une partie qui ne change pas et une qui varie, on utilise la fonction paste(). La fonction paste() permet aussi de faire de la concaténation.

 

paste("T", 1:4, sep="-") # Affiche T-1 T-2 T-3 T-4. C'est la concaténation de la lettre T avec un chiffre (allant de 1 à 4). La lettre T et le chiffre sont séparés par le symbole - . 

paste("Étudiant", 1:30, sep=" ") # Affiche Étudiant 1 Étudiant 2 jusqu’à Étudiant 30. C'est la concaténation du mot Étudiant avec un nombre (allant de 1 à 30). Le mot Étudiant et le nombre sont séparés par un espace. 

On peut aussi l'associé avec la fonction seq().

paste(« Note », seq(from=10, to=100, by=10), sep="_") # Affiche Note_10, Note_20, Note_30, ... Note_100.

 

La fonction apply() est très utile. Elle permet de calculer une statistique pour chaque ligne ou chaque colonne d'un tableau (matrix ou data.frame par exemple).

 

apply(Tableau,1,sum) # Somme par ligne des valeurs de l’objet Tableau.
apply(Tableau[,1:3],1,mean) # Moyenne par ligne des valeurs des 3 premières colonnes de l’objet Tableau.

apply(is.na(Tableau),2,sum) # Nombre de données manquantes par colonne de l’objet Tableau.

apply(Tableau,2,min) # Minimum par colonne des valeurs de l’objet Tableau.

Si vous voulez plus de fonctions statistiques, regardez tout en haut de cette fiche.

À savoir : avec le fonction apply, on utilise le chiffre 1 pour dire que l’on fait la statistique par ligne (observation) et le chiffre 2 pour la statistique par colonne (variable).

Enfin, pour afficher un élément, on utilise la fonction print( ).

On peut aussi utiliser la fonction cat() pour afficher le contenu des objets sur une même ligne.

De plus, la fonction cat() peut aussi être utiliser pour afficher un résultat à l'aide d'une concaténation d’éléments (pour que le résultat soit mieux présenté).

 

print(Salaires) # Affiche de contenu de l'objet Salaires.

cat("Moyenne des salaires : ", mean(Salaires), " euros") # Affiche Moyennes des salaires : 2 713 euros. C'est la concaténation de 3 éléments (deux chaînes de caractères et le résultat d'une fonction). 

bottom of page