Obtenir de l'aide. Lorsque l'on connaît le nom de la commande R (e.g., cmd
), on peut taper help(cmd)
ou ?cmd
(sauf dans le cas de certains opérateurs). Sinon, on peut rechercher à partir de mots-clés en tapant help.search(cmd)
. Une alternative pour la recherche par motif consiste à utiliser apropos(cmd)
. Pour connaître toutes les commandes fournies par un package (e.g., pkg
), il suffit de taper help(package=pkg)
.
An Introduction to R contient les informations essentielles sur les éléments de base du langage, l'écriture de fonctions, les procédures graphiques, et les principaux modèles statistiques disponibles sous R.
Dans les exemples qui suivent, x
est supposé être un vecteur, f
un facteur, m
une matrice, d
un data.frame.
c(1,2,3) # séquence (1,2,3)
1:3 # séquence (1,2,3)
letters[1:3] # les 3 premières lettres de l'alphabet (en minuscules)
LETTERS[1:3] # les 3 premières lettres de l'alphabet (en majuscules)
seq(1, 6, by=2) # séquence (1,3,6)
seq(1, 10, length=100) # séquence de 100 nombres équirépartis entre 1 et 10
seq(3) # les 3 premiers entiers
seq_along(letters[1:3]) # les élements passés à la fonction sous forme d'entiers
sample(1:10, 5) # 5 éléments tirés sans remise parmi la séquence (1..10)
sample(1:10, 5, rep=T) # 5 éléments tirés avec remise parmi la séquence (1..10)
rep(c(1,2), 2) # répète la séquence (1,2) 2 fois
rep(c(1,3), c(2,3)) # répète les éléments (1,3) 2 et 3 fois respectivement
rep(c(1,2), each=2) # répète chaque élément de (1,2) 2 fois
matrix(c(1,2,3,4), nrow=2, ncol=2) # crée une matrice 2x2 arrangée par colonnes
matrix(c(1,2,3,4), nr=2, nc=2, byrow=T) # crée une matrice 2x2 arrangée par lignes
cbind(c(1,2), c(3,4)) # assemble deux vecteurs en colonnes
rbind(c(1,2), c(3,4)) # assemble deux vecteurs en lignes
replicate(2, c(1,2)) # duplique les éléments (1,2) en colonnes
factor(c(1,2), labels=c("a","b")) # crée un facteur dont les labels sont a et b
gl(2, 2, 8, labels=c("a","b")) # crée un facteur à 2 niveaux répétés 2 fois, de taille 8
as.factor(x) # convertit x en facteur
factor(c(1,2), ordered=TRUE) # créé un facteur ordonné
data.frame(x, y, f) # assemble les vecteurs x, y (numériques) et f (facteur) en colonnes
as.data.frame(m) # convertit la matrice m en data.frame
as.data.frame(replicate(2, c(1,2))) # id.
data.frame(x, m) # assemble le vecteur x et la matrice m en colonnes
data.frame(x, y, row.names=z) # assemble les vecteurs x et y en colonnes, en utilisant les valeurs de z comme row.names
names(x) # nomme les éléments d'un vecteur
colnames(m) # nomme les colonnes d'une matrice (ou d'un data.frame)
names(d) # nomme les colonnes d'un data.frame
rownames(d) # nomme les lignes d'un data.frame
dimnames(d) # noms des lignes et colonnes d'un data.frame (ou d'une matrice)
scan("fichier.txt") # lit une suit de nombres
scan("fichier.txt", what="character") # lit une suite de caractères
read.table("fichier.txt", header=TRUE) # lit un fichier text délimité par des tabulations
read.csv("fichier.csv") # lit un fichier csv délimité par des ','
read.csv2("fichier.csv") # lit un fichier csv délimité par des ';'
read.spss("fichier.sav", to.data.frame=T) # {foreign} lit un fichier SPSS
length(x) # nombre d'éléments dans x
head(x) # 6 premiers éléments de x
tail(x) # 6 derniers éléments de x
rev(x) # éléments de x dans l'ordre inverse
t(x) # x transposé (ligne -> colonne)
sort(x) # trie x en ordre croissant
sort(x, decr=T) # trie x en ordre décroissant
order(x) # renvoit le rang des éléments de x
unique(x) # renvoit les éléments uniques contenus dans x
x[1] # 1er élément de x
x[c(1,4)] # 1er et 4ème élément de x
x["a"] # si x est nommé, aème valeur de x
x[y[3]] # ième élément de x où i = 3ème élément de y
m[1,2] # élément de x situé en 1ère ligne, 2ème colonne
m[c(1,2), 2] # éléments de x situé sur les lignes 1 et 2, 2ème colonne
m[1, "a"] # si les colonnes de x sont nommées, 1ère ligne, colonne a
m[,1] # tous les éléments de m dans la 1ère colonne
m[1,] # tous les éléments de m dans la 1ère ligne
m[1:3,] # les trois premières lignes, toutes les colonnes
d[1,] # 1ère ligne de d
d[,1] # 1ère colonne de d
d[,"a"] # colonne nommée a dans d
d[,c("a","b")] # colonnes nommées a et b dans d
d$a # idem
d[d$f=="a",] # toutes les valeurs de d pour lesquelles d$f="a"
d[d$f=="a",1:2] # toutes les valeurs des colonnes 1 et 2 de d pour lesquelles d$f="a"
levels(f) # niveaux de f
nlevels(f) # nombre de niveaux de f
relevel(f, ref="a") # change la catégorie de référence de f en a
levels(f)[1:2] <- "a" # regroupe les deux premiers niveaux sous le niveau a
as.numeric(as.character(f)) # convertit les niveaux de f en nombre en préservant leur cardinalité
table(f) # distributions des niveaux de f
ordered(f) # convertit f en facteur ordonné
subset(d, f == "a") # tous les éléments de d tel que d$f="a"
subset(d, f %in% c("a", "c")) # tous les éléments de d tel que d$f="a" ou d$f="c"
subset(d, select=V1:V4) # les colonnes V1 à V4 de d
subset(d, select=c(V1:V3, V5)) # les colonnes V1 à V3, et V5 de d
subset(d, f == "a", V1:V3) # les colonnes V1 à V3 de d, tel que d$f="a"
complete.cases(d) # indique quelles lignes sont sans valeurs manquantes
na.omit(d) # d sans valeurs manquantes
with(d, mean(x)) # calcule la moyenne de x contenu dans d (lecture seule)
within(d, x <- factor(x)) # convertit la colonne nommée x dans d en facteur (écriture)
within(d, { # id. pour plusieurs variables
x <- factor(x)
y <- factor(y)
})
transform(d, x2 = log10(x)) # crée une nouvelle variable x2 dans d à partir de d$x
apply(m, 1, mean) # moyenne de chaque ligne de m
apply(m, 2, mean) # moyenne de chaque colonne de m
apply(d, 1, function(x) sum(is.na(x))) # nombre de valeurs manquantes par ligne
tapply(x, f, mean) # moyenne de x par niveaux de f
tapply(x, list(f1, f2), mean) # moyenne de x pour chaque croisement des niveaux de f1 et f2
by(d, f, colMeans) # moyenne de chaque colonne de d par niveaux de f
aggregate(x, list(f=f), mean) # moyenne de x par niveaux de f, sous forme de data.frame
rnorm(10, mean=2, sd=1) # 10 aléas gaussiens (moyenne 2, ds 1)
runif(10, min=0, max=1) # 10 aléas uniformes compris entre 0 et 1
rbinom(10, 1, 1/2) # 10 aléas binaires avec probabilité de survenue 1/2
sample(1:10, 10) # permutation de la séquence (1..10)
sample(1:10, 5, replace=TRUE) # tire 5 éléments parmi la séquence (1..10) avec remise
combn(4, 2) # combinaisons de 2 éléments choisis parmi 4
choose(4, 2) # nombre de combinaisons de 2 éléments choisis parmi 4