Commenter Multilines en R

Gustavo du Mortier 16 février 2024
  1. Utilisez scan() pour insérer un texte arbitraire
  2. Utiliser une fonction pour commenter une multiligne dans R
Commenter Multilines en R

Lorsque vous souhaitez commenter plusieurs lignes du code R, la manière classique de le faire consiste à placer un caractère # au début de chacune des lignes que vous devez commenter, car R ne prend pas en charge les commentaires sur plusieurs lignes.

Cette tâche peut être effectuée si le nombre de lignes de code à commenter est faible. Mais si vous avez besoin de commenter un bloc de code très long, un éditeur de code spécialisé capable d’ajouter un caractère # à chaque ligne d’un bloc sélectionné pourrait être utile. Dans RStudio, vous pouvez faire cela en utilisant la combinaison de touches Ctrl+Shift+C dans Windows, ou Command+Shift+C dans OSX. La documentation RStudio offre plus d’informations sur les raccourcis clavier.

Notepad++ reconnaît le code R et vous permet également de commenter le code avec le raccourci Ctrl+Q ou Command+Q. Si vous utilisez Emacs, vous pouvez également utiliser M-x comment-region. Pour annuler l’action, utilisez M-x uncomment region.

Utilisez scan() pour insérer un texte arbitraire

Vous pouvez également utiliser la fonction scan() pour insérer tout texte arbitraire dans votre code, après quoi vous devez utiliser rm() pour retirer le texte de la mémoire. Assurez-vous que la dernière ligne du code commenté avant le rm() doit être vide. Puisque scan() charge le texte dans une variable, il est nécessaire de garder le code ou le texte commenté dans des limites de taille raisonnables.

Vous trouverez ci-dessous comment utiliser cette méthode.

comments <- scan(what="character")
Place your comments here
You can place code also:
some_data <- 1:1000
Just leave the last line blank.

rm(comments)

Utiliser une fonction pour commenter une multiligne dans R

La fonction FormatComment suivante prend le texte du presse-papiers et le formate avec un symbole # au début de chaque ligne. Ainsi, si vous utilisez un éditeur de texte incapable de commenter automatiquement des blocs de code, vous pouvez obtenir le même résultat en copiant le code dans le presse-papiers et en appelant la fonction FormatComment depuis la console pour en obtenir une version commentée. Ensuite, vous pouvez remplacer le bloc de code original par le bloc commenté.

FormatComment<-function() {
    y <- as.list(readClipboard())
    spacer <- function(x) paste("#", paste("   ", collapse=""), x, sep="")
    z <- sapply(y, spacer)
    zz <- as.matrix(as.data.frame(z))
    dimnames(zz) <- list(c(rep("", nrow(zz))), c(""))
    writeClipboard(noquote(zz), format = 1)
    return(noquote(zz))
}

Pour l’essayer, il suffit de copier le texte que vous voulez inclure en commentaire et d’appeler la fonction FormatComment. Par exemple, si vous voulez convertir ce texte en commentaire.

This is some text
I want to insert
as a comment
in the middle of
my R script.

Il suffit de sélectionner le bloc entier et de le copier dans le presse-papiers. Ensuite, appelez la fonction FormatComment comme ceci :

FormatComment()

Et vous obtiendrez le résultat suivant :

#   This is some text
#   I want to insert 
#   as a comment     
#   in the middle of 
#   my R script.