startR 5: Programmation

Lise Vaudor

21 mars 2017

Structures conditionnelles

Les instructions conditionnelles (if ou if else) permettent d’exécuter (ou non) certaines commandes en fonction de conditions spécifiées par l’utilisateur.

Voici la structure d’une instruction conditionnelle if:

if(condition){
  ...
  ...
  ...
}

Et if else:

if(condition){
  ...
}else{
  ...
}

Exemples:

Boucles for

Les boucles for permettent d’exécuter des instructions de manière itérative (ou répétée).

Voici la structure d’une instruction instruction for:

for(compteur in sequence){
  ...
  ...
  ...
}

Par exemple:

for(i in 1:5){
  print(paste("On en est à",i,"!"))
}
## [1] "On en est à 1 !"
## [1] "On en est à 2 !"
## [1] "On en est à 3 !"
## [1] "On en est à 4 !"
## [1] "On en est à 5 !"

Fonctions: Ecrire ses propres fonctions

L’utilisateur peut créer lui-même ses fonctions, par exemple s’il pense répéter plusieurs fois un même type de traitement.

Une fonction s’écrit de la manière suivante:

mafonction <-function(argument1,argument2){
  ...
  ...
  resultat <- ...
  return(resultat)
}

Quelques exemples en plus de fonctions, structure if et for…

Tconversion <- function(x, type="FtoC"){
  if(type=="FtoC"){
    resultat <- (x-32)/1.8
  }
  if(type=="CtoF"){
    resultat <- 1.8*x+32
  }
  if(type!="FtoC" & type!="CtoF"){
    resultat <- "Pas compris!"
  }
  return(resultat)
}

Quelques exemples en plus de fonctions, structure if et for…

layout(matrix(1:5,nrow=5))
require(dplyr)
for (i in 5:9){
  data_tmp <- filter(air, Month==i)
  plot(data_tmp$Wind, data_tmp$Ozone,
       main=paste("Mois", i),
       col="lightskyblue",pch=20, cex=3)
}