HOWTO · R

Comentar las multilíneas en R

En este artículo, aprenderá a comentar multilíneas en R sin tener que escribir manualmente un carácter # al principio de cada una de las líneas a comentar.

En esta página

R no tiene sintaxis de comentarios multilínea: # inicia un comentario que continúa hasta el final de esa línea. Para desactivar temporalmente varias líneas, añade # al comienzo de cada una. Para volver a activar el código, quita esos prefijos. Los editores pueden hacerlo por ti en las líneas seleccionadas.

Ejecuta este ejemplo:

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

# This line is a comment.
total <- 2 + 3
print(total)
[1] 5

La primera línea se ignora como código R; la asignación y la llamada a print() siguen siendo ejecutables. La ejecución suministrada terminó correctamente e imprimió [1] 5.

Cómo funcionan los comentarios en R

El marcador de comentario solo afecta al resto de la línea actual. Por ejemplo, en answer <- 42 # keep this value, R evalúa la asignación e ignora el texto que aparece después de #. Una línea que comienza con # también puede documentar el código sin cambiar lo que hace el script. Como cada comentario termina con un salto de línea, un grupo de líneas comentadas sigue siendo un conjunto de comentarios independientes de una línea, no un comentario de bloque.

Al comentar código, añade el prefijo a todas las líneas seleccionadas, incluidas las líneas de continuación. Si queda sin comentar aunque sea una línea ejecutable, R también la ejecutará al cargar el script. Para descomentar, haz lo contrario: quita el prefijo de comentario de cada línea que quieras volver a ejecutar.

Comentar un bloque de código en un editor

Selecciona las líneas en RStudio y pulsa Ctrl+Shift+C en Windows o Command+Shift+C en macOS. El mismo comando activa y desactiva los comentarios en la selección, así que comprueba el resultado antes de ejecutar el código. Consulta los atajos de teclado de RStudio para obtener más detalles sobre el editor.

En Notepad++ para Windows, Ctrl+Q activa o desactiva los comentarios de las líneas seleccionadas. En Emacs, ejecuta M-x comment-region; para deshacerlo, ejecuta M-x uncomment-region. Los atajos dependen del editor, el sistema operativo, la configuración del teclado y la selección; si uno no funciona, consulta la lista de comandos del propio editor. Estos comandos añaden o quitan prefijos de línea; no incorporan una nueva sintaxis de comentarios a R.

Por qué scan() no crea un comentario multilínea

scan() lee valores de una conexión o de una entrada y los devuelve a R. No inserta texto en el archivo fuente ni convierte las líneas que escribes en comentarios. Del mismo modo, rm() elimina un objeto de R del espacio de trabajo; no borra texto del código fuente. Escribir texto arbitrario en la consola de R no es una forma válida de comentar un script, porque R intenta analizar cada línea enviada como entrada. En su lugar, usa el comando de comentarios del editor o añade # a cada línea del código fuente.

Convertir texto del portapapeles en comentarios con # mediante una función de R

Si tu editor no ofrece un comando práctico para las líneas seleccionadas, este ayudante opcional, FormatComment, añade # y espacios al principio de cada línea del portapapeles. Sus llamadas a readClipboard() y writeClipboard() son específicas de Windows. Define la función en una sesión de R en Windows, copia texto sin formato o código y luego llámala; revisa el resultado antes de sustituir cualquier contenido del script. El ayudante escribe el texto formateado de nuevo en el portapapeles, así que pégalo primero en un lugar seguro si necesitas conservar el contenido original del portapapeles.

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

FormatComment <- function() {
  lines <- readClipboard()
  commented <- paste0("#   ", lines)
  writeClipboard(commented, format = 1)
  invisible(commented)
}

El caso suministrado del ayudante terminó correctamente y no informó de ninguna salida. Ese resultado no demuestra cómo se comportará con un portapapeles real de Windows ni en una sesión interactiva. El ayudante está pensado para líneas de texto copiadas; revisa lo que pegues, sobre todo si el código fuente tiene sangría o sintaxis de continuación. Para editar código habitualmente, suele ser más fácil revertir el conmutador de comentarios del editor y es menos probable que altere el formato.