Comente as multilinhas em R

Gustavo du Mortier 16 fevereiro 2024
  1. Use scan() para inserir texto arbitrário
  2. Use uma função para comentar multilinha em R
Comente as multilinhas em R

Quando você deseja comentar várias linhas do código R, a maneira convencional de fazer isso seria colocar um caractere # no início de cada uma das linhas que você precisa comentar, uma vez que R não suporta comentários em várias linhas.

Executar essa tarefa está ok se o número de linhas de código para comentar for pequeno. Mas se você precisar comentar um bloco de código realmente longo, um editor de código especializado, capaz de adicionar um caractere # a cada linha em um bloco selecionado, pode ser útil. No RStudio, você pode fazer isso usando a combinação de teclas Ctrl+Shift+kbd>kbd>C no Windows ou Command+Shift+kbd>C no OSX. A documentação do RStudio oferece mais informações sobre os atalhos do teclado.

O Notepad++ reconhece o código R e também permite que você comente o código com o atalho Ctrl+Q ou Command+Q. Se você usa o Emacs, também pode usar M-x comment-region. Para reverter a ação, use M-x uncomment region.

Use scan() para inserir texto arbitrário

Você também pode usar a função scan() para inserir qualquer texto arbitrário dentro do seu código, após o qual você precisa usar rm() para remover o texto da memória. Certifique-se de que a última linha do código comentado antes de rm() deve estar em branco. Como scan() carrega o texto em uma variável, é necessário manter o código ou texto comentado dentro de limites de tamanho razoáveis.

Abaixo está como você pode usar este método.

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)

Use uma função para comentar multilinha em R

A seguinte função FormatComment pega o texto da área de transferência e o formata com um símbolo # no início de cada linha. Então, se você estiver usando um editor de texto incapaz de comentar blocos de código automaticamente, você pode obter o mesmo resultado copiando o código para a área de transferência e chamando a função FormatComment do console para obter uma versão comentada dele . Em seguida, você pode substituir o bloco de código original pelo comentado.

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))
}

Para experimentar, basta copiar o texto que deseja incluir como comentário e chamar a função FormatComment. Por exemplo, se você for converter este texto em um comentário.

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

Basta selecionar o bloco inteiro e copiá-lo para a área de transferência. Em seguida, chame a função FormatComment assim:

FormatComment()

E você obterá a seguinte resultado:

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