Fonctions intégrées dans R
Presque tout dans R se fait par l'intermédiaire de fonctions. Je me réfère ici uniquement aux fonctions numériques et de caractères qui sont couramment utilisées pour créer ou recoder des variables.
(Pour vous entraîner à travailler avec des fonctions, suivez le cours R intermédiaire).
Fonctions numériques
Fonction | Description |
abs(x) | valeur absolue |
sqrt(x) | racine carrée |
plafond(x) | plafond(3.475) est égal à 4 |
floor(x) | floor(3.475) est 3 |
trunc(x) | trunc(5.99) est 5 |
rond(x , digits= n) | round(3.475, digits=2) est 3.48 |
signif(x , chiffres= n) | signif(3.475, digits=2) est 3.5 |
cos(x), sin(x), tan(x) | également acos(x), cosh(x), acosh(x), etc. |
log(x) | logarithme naturel |
log10(x) | logarithme commun |
exp(x) | e^x |
Fonctions des caractères
Fonction | Description |
substr(x , start= n1 , stop= n2) | Extraire ou remplacer des sous-chaînes dans un vecteur de caractères. x <- "abcdef" substr(x, 2, 4) is "bcd" substr(x, 2, 4) <- "22222" is "a222ef" |
grep(pattern , x , ignore.case= FALSE , fixed= FALSE ) | Recherche d'un modèle dans x. Si fixed =FALSE, le motif est une expression régulière. Si fixed=TRUE, le motif est une chaîne de texte. Renvoie les indices correspondants. grep("A", c("b", "A", "c"), fixed=TRUE) renvoie 2 |
sub(pattern , replacement , x , ignore.case = FALSE , fixed= FALSE ) | Recherchez un modèle dans x et remplacez-le par un texte de remplacement. Si fixed=FALSE, le motif est une expression régulière. Si fixed = T, le motif est une chaîne de texte. sub("\s",".", "Hello There") renvoie "Hello.There". |
strsplit(x , split) | Divisez les éléments du vecteur de caractères x à split.strsplit("abc", "") renvoie un vecteur à 3 éléments "a", "b", "c". |
paste(..., sep="") | Concatène des chaînes de caractères après avoir utilisé la chaîne sep pour les séparer.paste("x",1:3,sep="") renvoie c("x1", "x2" "x3")paste("x",1 :3,sep="M") renvoie c("xM1", "xM2" "xM3")paste("Nous sommes aujourd'hui", date()) |
toupper(x) | Majuscules |
plus petit(x) | Minuscules |
Fonctions de probabilité statistique
Le tableau suivant décrit les fonctions liées aux distributions de probabilités. Pour les générateurs de nombres aléatoires ci-dessous, vous pouvez utiliser set.seed(1234) ou un autre entier pour créer des nombres pseudo-aléatoires reproductibles.
Fonction | Description |
dnorm(x) | fonction de densité normale (par défaut m=0 sd=1)# tracer la courbe normale standardx <- pretty(c(-3,3), 30)y <- dnorm(x) plot(x, y, type='l', xlab="Normal Deviate", ylab="Density", yaxs="i") |
pnorm(q) | la probabilité normale cumulée pour q(aire sous la courbe normale à gauche de q)pnorm(1.96) est de 0.975 |
qnorm(p) | quantile normal. valeur au p percentile de la distribution normaleqnorm(.9) est 1.28 # 90ème percentile |
rnorm(nm=0, sd=1) | n écarts normaux aléatoires avec moyenne m mand écart-type sd. #50 variables normales aléatoires avec moyenne=50, écart-type=10x <- rnorm(50, m=50, écart-type=10) |
dbinom(x, taille, prob)pbinom(x, taille, prob)qbinom(p, taille, prob)rbinom(n, taille, prob) | distribution binomiale où taille est la taille de l'échantillon et prob est la probabilité d'un face (pi)# probabilité de 0 à 5 faces d'une pièce juste sur 10 flipsdbinom(0:5, 10, .5)# probabilité de 5 faces ou moins d'une pièce juste sur 10 flipspbinom(5, 10, .5) |
dpois(x,lamda)ppois(x,lamda)qpois(x,lamda)rpois(x,lamda) | distribution de poisson avec m=std=lamda#probabilité de 0,1, ou 2 événements avec lamda=4dpois(0:2, 4)# probabilité d'au moins 3 événements avec lamda=41- ppois(2,4) |
dunif(xmin=0, max=1)punif(x, min=0, max=1)qunif(x, min=0, max=1)runif(x, min=0, max=1) | La distribution uniforme, suit le même schéma que la distribution normale ci-dessus.#10 Variables aléatoires uniformes x <- runif(10) |
Autres fonctions statistiques
D'autres fonctions statistiques utiles sont présentées dans le tableau suivant. Chacun dispose de l'option na.rm pour éliminer les valeurs manquantes avant les calculs. Dans le cas contraire, la présence de valeurs manquantes entraînera un résultat manquant. L'objet peut être un vecteur numérique ou un cadre de données.
Fonction | Description |
mean(x ,trim=0,na.rm= FALSE ) | moyenne de l'objet x# moyenne tronquée, en supprimant les valeurs manquantes et# 5 pour cent des scores les plus élevés et les plus basmx <- mean(x,trim=.05,na.rm=TRUE) |
sd(x) | l'écart-type de object(x). regardez également var(x) pour la variance et mad(x) pour l'écart absolu médian. |
médiane(x) | médiane |
quantile(x , probs) | quantiles où x est le tableau numérique dont on veut connaître les quantiles et probs est un tableau numérique avec des probabilités dans [0,1].# 30ème et 84ème centiles de xy <- quantile(x, c(.3,.84)) |
range(x) | gamme |
sum(x) | somme |
diff(x , lag= 1) | différences décalées, le décalage indiquant le décalage à utiliser |
min(x) | minimum |
max(x) | maximum |
scale(x , center= VRAI , scale= VRAI ) | centrer la colonne ou normaliser une matrice. |
Autres fonctions utiles
Fonction | Description |
seq(de , à , par) | générer une séquenceindices <- seq(1,10,2)#indices is c(1, 3, 5, 7, 9) |
rep(x , ntimes) | repeat x n timesy <- rep(1:3, 2)# y is c(1, 2, 3, 1, 2, 3) |
cut(x , n) | diviser une variable continue en un facteur à n niveauxsy <- cut(x, 5) |
Notez que si les exemples de cette page appliquent des fonctions à des variables individuelles, nombre d'entre eux peuvent également être appliqués à des vecteurs et à des matrices.