Je débute dans R (autodidacte je ne connais pas bien les termes techniques, désolée) et j'ai besoin de manipuler plusieurs variables d'une même table puis de créer une nouvelle table. Pour ce faire, je reproduit plusieurs fois les mêmes instructions ; c'est pourquoi je voudrais créer une boucle mais je n'y parviens pas. Voici ce que je fais :
Code : Tout sélectionner
indiquerRDBMT = eff_scol14_dev15[c("pubpri_N", "voie_N", "serie_N","UAIRNE", "RDBMT","eff")]
indiquerRDBMT$numerateur = indiquerRDBMT$RDBMT
indiquerRDBMT$denominateur = indiquerRDBMT$eff
indiquerRDBMT$valeur = indiquerRDBMT$numerateur*100/indiquerRDBMT$denominateur
indiquerRDBMT$id = "05"
indiquerRDBMT = indiquerRDBMT[,c("pubpri_N", "voie_N", "serie_N","UAIRNE", "numerateur","denominateur","valeur","id")]
indiquerPREBAC = eff_scol14_dev15[c("pubpri_N", "voie_N", "serie_N","UAIRNE", "PREBAC","eff")]
indiquerPREBAC$numerateur = indiquerPREBAC$PREBAC
indiquerPREBAC$denominateur = indiquerPREBAC$eff
indiquerPREBAC$valeur = indiquerPREBAC$numerateur*100/indiquerPREBAC$denominateur
indiquerPREBAC$id = "07"
indiquerPREBAC = indiquerPREBAC[,c("pubpri_N", "voie_N", "serie_N","UAIRNE", "numerateur","denominateur","valeur","id")]
indiquerCPGE = eff_scol14_dev15[c("pubpri_N", "voie_N", "serie_N","UAIRNE", "CPGE","eff")]
indiquerCPGE$numerateur = indiquerCPGE$CPGE
indiquerCPGE$denominateur = indiquerCPGE$eff
indiquerCPGE$valeur = indiquerCPGE$numerateur*100/indiquerCPGE$denominateur
indiquerCPGE$id = "02"
indiquerCPGE = indiquerCPGE[,c("pubpri_N", "voie_N", "serie_N","UAIRNE", "numerateur","denominateur","valeur","id")]
J'ai tenté quelque chose :
Code : Tout sélectionner
table = c( "STS","CPGE", "IUT", "UNIV", "RDBMT", "AUTRE_PBAC", "PREBAC")
for(i in 1:7) {
nam = paste("indiquer", table[i], sep = "")
indiquer = eff_scol14_dev15[c("pubpri_N", "voie_N", "serie_N","UAIRNE", table[i],"eff")]
indiquer$numerateur = get(paste("indiquer$",table[i], sep=""))
indiquer$denominateur = indiquer$eff
indiquer$valeur = indiquer$numerateur*100/indiquer$denominateur
indiquer$id = i
indiquer = indiquer[,c("UAIRNE", "numerateur","denominateur","valeur","id")]
assign(nam, indiquer)}
j'ai un message d'erreur indiquant que l'objet "indiquer$STS" (pour le premier passage de la boucle) n'existe pas ...
je sais que c'est
Code : Tout sélectionner
indiquer$numerateur = get(paste("indiquer$",table[i], sep=""))
qui ne fonctionne pas mais du coup je ne sais pas du tout quoi faire.
____________________________________________________________________________________________________________
J'ai lu que c'est mieux d'utiliser apply plutôt que les boucles mais j'avoue que je ne sais pas non-plus comment faire.
Merci d'avance pour votre aide