1.5 Organizandote: Scripts.

A medida que escribas programas cada vez más complejos y grandes, va a ser necesario que lleves registro y los puedas almacenar en una forma que sea accesible y fácil de modificar. Para esto, es necesario que crees scripts: archivos de textos que contienen los comandos de tu programa organizados de forma secuencial y ordenada. Los scripts son archivos de textos y es por eso que solo necesitas un editor de texto para crearlos (p. ej. puedes hacerlos con el bloc de notas). Lo importante es que como estas creando programas de R, los scripts deben terminar con la extensión .R (los archivos de bloc de notas tienen extensión .txt por omisión. Tu puedes cambiar la extensión presionando el botón derecho del ratón sobre el archivo y seleccionando “Cambiar nombre”. Cambias la extensión a .R y presionas “Aceptar”).

Un ejemplo de un programa sencillo es el que se muestra a continuación. Puedes copiar y pegar9 el código en un editor de texto y guardarlo como Suma.R:

# Suma.R - Este programa se encarga de sumar dos números predefinidos aquí.

# Números a sumar
first <- 16
second <- 32

# Sumando
suma <- first + second
suma

En general, los programas que escribirás en scripts serán mucho mas grandes y complejos. Pero usaremos el programa Suma.R para ejemplificar ciertos aspectos del flujo de trabajo al programar en R. Todo lo mencionado en esta sección tiene que ver con el estilo y las convenciones utilizadas por los programadores de R para escribir scripts de forma elegante y que sea fácil de leer para otros programadores.

  • Primero que nada, los nombres de los scripts, al igual que los nombres de variables y funciones, deben ser significativos o representativos. Estos deben dar una idea de a que esta dirigido el programa y no tener nombres aleatorios o que signifiquen algo trivial (de nuevo, nada del nombre de tu crush o de tu comida favorita).
  • Tal vez no lo notaste, pero hemos estado usando con bastante frecuencia el símbolo #. Este símbolo indica que lo que sigue después del mismo hasta el fin de línea10 es un comentario. Los comentarios R los interpreta como partes del script que no se ejecutan. Son solo lineas de texto que están ahí para explicar para que sirve una parte del código o para mostrar información acerca del programa (un mal hábito que se suele adherir a nosotros debido a la inseguridad o necedad es el de comentar código que ya no usaremos o código que ya no se ejecuta debido a modificaciones posteriores. Trata de no hacer esto).
  • En mi caso, cuando sé de antemano que el programa será leído por otras personas, añado también la fecha y mi dirección de correo electrónico (básicamente lo que hago es dándole un autor al programa).
        # molinatti.marc.029@gmail.com
        # Enero 7, 2021.
  • Facilitar la legibilidad de un programa es importante, porque puede suceder que tu tengas que leer tus propios programas luego de que ha transcurrido mucho tiempo de haberlos escrito. Si el programa esta todo amontonado y sin un buen espaciado, será una tortura hacerlo (y si tu programa va dirigido a otras persona, esas personas te van a odiar y maldecirán por haberles dado un programa tan basura). Es por eso que existen ciertas convenciones cuando se trata de estilo: i) Los operados van separados de sus operandos por medio de un solo espacio, excepto si se trata de los operadores :, :: o :::; y ii) cuando una línea de código es muy larga (más de 80 caracteres) utiliza saltos de lineas y tabuladores11.
        # Una operación matemática correctamente espaciada...
        1 + 32 / (6 * 4) 
        # ...y una no tan bien espaciada. Ew!
        55*sin(pi/4)+10

        # Usa saltos de línea y tabulaciones para mejorar la lectura del código.
        y <- as.POSIXct("2015-09-22 01:00:00", 
          tz = "America/Caracas")

  1. Esto solo por esta vez lo haremos. En general, copiar y pegar código es una mala practica de programación y no debe hacerse, debido a que hay mucha propensión a propagar errores, es más difícil de mantener y modificar si cambias algo en un fracción del código que copiaste y que debes modificar en todas las copias del mismo, y entre otras razones.↩︎

  2. Un fin de línea (o \n es un salto de linea. Cada vez que presionas Enter cuando escribes un texto en la PC, introduces un fin de línea.↩︎

  3. Personalmente, los tabuladores no me gustan porque el espaciado por omisión es demasiado grande. Yo utilizo dos espacios en blanco como tabulador. Aunque también puedes modificar tu editor de texto para que el tamaño de la tabulación sea de dos espacios en blanco y no de 6 u 8.↩︎