R possède les structures de contrôle standard que vous attendez. expr peut être une déclaration multiple (composée) en l'entourant d'accolades { }. Dans la mesure du possible, il est plus efficace d'utiliser des fonctions intégrées plutôt que des structures de contrôle.
if-else
if (cond) expr
if (cond) expr1 else expr2
pour
for (var in seq) expr
alors que
while (cond) expr
interrupteur
switch(expr, ...)
ifelse
ifelse(test,yes,no)
Exemple
# transpose of a matrix
# a poor alternative to built-in t() function
mytrans <- function(x) {
if (!is.matrix(x)) {
warning("argument is not a matrix: returning NA")
return(NA_real_)
}
y <- matrix(1, nrow=ncol(x), ncol=nrow(x))
for (i in 1:nrow(x)) {
for (j in 1:ncol(x)) {
y[j,i] <- x[i,j]
}
}
return(y)
}
# try it
z <- matrix(1:10, nrow=5, ncol=2)
tz <- mytrans(z)
Maîtrisez les bases de l'analyse de données en R, y compris les vecteurs, les listes et les cadres de données, et pratiquez R avec des ensembles de données réels.