> langage et graphiques > Vecteurs et opérations > Fonctions mathématiques
Fonctions mathématiques
sin(x), cos(x), abs(x), ... : fonctions habituelles, sauf qu'elles travaillent sur des vecteurs.
sign(x) : donne le signe de x (1, -1 ou 0).
sqrt(-17) : donne NaN (Not a Number).
Partie entières et autres :
- floor() : partie entière.
- ceiling() : entier immédiatement supérieur.
- trunc(): tronque la partie décimale.
- round() : arrondi à l'entier le plus proche.
- round(x, digits = 2) : arrondi à 2 chiffres apres la virgule.
- signif(x, digits = 2) : 2 chiffres significatifs.
factorielle et fonction gamma :
- factorial(n) : factorielle de n.
- choose(n, p) : coefficient binomial C(n,p), p <= n.
- gamma(x) : fonction gamma (pour n entier, gamma(n) = factorial(n - 1))
min(x), max(x) : renvoient les valeurs minimum ou maximum de toutes les coordonnées de x.
max(x, na.rm = TRUE) : calcule le maximum en ignorant les valeurs non déterminées (sinon, max renvoie NA si il y a au moins une valeur NA).
On peut faire aussi max(x1, x2, x3) et ca renvoie la valeur maximale que tous les éléments (une seule valeur).
range(x) : vaut c(min(x), max(x))
pmax(x1, x2, x3) : renvoie un vecteur de taille le max de toutes les tailles avec à chaque position la valeur maximum (en recylant les valeurs des vecteurs plus courts). Idem avec pmin.
sum(x), prod(x) : somme et produit des coordonnées
sum sur un booléen donne le nombre de valeurs TRUE.
cumsum(x) : vecteur de même taille que x, mais avec les sommes cumulées (ième élément est la somme des ièmes premiers termes de x). Autres fonctions :
- cumprod(x) : produit cumulé.
- cummin(x) : minimum cumulé.
- cummax(x) : maximum cumulé.
Fonctions statistiques élémentaires :
- mean(x) : moyenne des coordonnées (mesure non robuste aux valeurs extrèmes)
- mean(x, trim = 0.1) : calcule la moyenne en éliminant 10% des données les plus extrèmes de chaque côté (mean(x, trim = 0.5) est la médiane !) (mesure robuste)
- median(x) : médiane des coordonnées (mesure robuste).
- var(x) : variance des coordonnées (attention, celle corrigée par n/(n-1)).
- cov(x, y) : covariance des 2 vecteurs (attention, celle corrigée par n/(n-1)).
- cor(x, y) : coefficient de corrélation entre les 2 vecteurs (vaut cov(x,y) / (sd(x) * sd(y))).
- cor(x, y, method = "spearman") : coefficient de corrélation de Spearman (entre les rangs des valeurs plutôt qu'entre les valeurs elles-mêmes : cor(rank(x), rank(y))).
- sd(x) : écart-type (standard deviation) (attention, corrigé par sqrt(n/(n-1))). Attention sd(matrice) est un vecteur !!!
- mad(x) : écart médian à la médiane (median absolute deviation = mediane(|x - mediane(x)|))
- weighted.mean(x, weight) : moyenne pondérée.
Opérations sur les complexes :
- Re(z) : partie réelle.
- Im(z) : partie imaginaire.
- Mod(z) : module.
- Arg(z) : argument.
- Conj(z) : conjugué.
- sqrt(-17 + 0i) : renvoie la racine carrée complexe.
Recherche d'index :
- which.min(x) : donne l'index qui correspond à la valeur minimum.
- which.max(x) : donne l'index qui correspond à la valeur maximale.
- apply(mat, 1, which.max) : renvoie pour chaque ligne l'index de la colonne contenant la valeur maximale (pareil pour les colonnes avec 2)
- which : prend en argument un veteur de booléens et renvoie les indices correspondant aux valeurs TRUE.
- which(x > 0) : les index du vecteur x pour lesquels la valeur est > 0.
- which(x == 0) : les index du vecteur x pour lesquels la valeur est = 0.
- which((x > 5) & (x < 10)) : pour combiner des conditions. Attention, il faut utiliser les opérateurs booléens '&' et '|' (et pas '&&' et '||').
- x[-which(x >= 0)] : les éléments de x qui ne vérifient pas la condition x >= 0. Attention : ca ne marche que si l'ensemble des éléments qui vérifient la condition est non vide, sinon ca renvoie l'ensemble vide !
rank(x) : chaque coordonnée est remplacée par son rang.
x <- c(9, 3, 5, 1); rank(x) donne 4 2 3 1
duplicated(x) : donne les indices des éléments dont il existe déjà une copie avant :
x <- c(5, 2, 5, 1, 2, 8, 2); duplicated(x) donne
FALSE FALSE TRUE FALSE TRUE FALSE TRUE
x[! duplicated(x)] : donne un vecteur avec des copies uniques de chaque élément dans l'ordre de première apparition.
order(x, decreasing = TRUE) : renvoie par ordre décroissant de valeurs les index du vecteur x : permet de trier un vecteur selon l'ordre d'un autre vecteur :
x <- c("a", "b", "c", "d", "e"); v <- c(4, 2, 3, 5, 1)
alors : x[order(v)] donne : "e" "b" "c" "a" "d"
order peut prendre plus d'une colonne (pour tri multi-colonne) :
order(v1, v2, v3) où v1, v2 et v3 sont des vecteurs de même taille.
Copyright Aymeric Duclert
programmer en R, tutoriel R, graphes en R