3 R Script
Hemos hecho muchas cosas hasta ahora. Si tuviéramos que volver a reproducirlas una por una, sería muy pesado teclear todo el código de nuevo en la consola. Por suerte, el script nos evita tener que volver a escribir todas las operaciones, puesto que nos sirve para anotar nuestras indicaciones, transmitirlas a R y reproducirlas siempre que queramos en un momento.
3.1 Ordenación del script
El script nos ayuda a ordenar los pasos que vamos dando con R. Lo más adecuado es ordenar nuestro script siguiendo una estructura que nos permita entender fácilmente lo que estamos haciendo (y que pueda entender también quien lea nuestro script). Aquí tenemos dos ejemplos de scripts:
- Estados con voto similar en Rusia en la Asamblea General de la ONU
- Visualización de casos de COVID-19 en España
Una de las herramientas más útiles que tiene el script es el símbolo # (almohadilla), que sirve tanto para escribir títulos como para desactivar el resto de la información que haya en la derecha en el mismo indicador de órdenes. La almohadilla también se puede utilizar en la consola, pero nos será de mucha más utilidad en el script.
Para reproducir el código que tengamos en el script, deberemos situar el cursor en la línea de código que queramos reproducir y teclear Ctrl+Enter.
Para empezar a utilizar el script, haz lo siguiente:
- Copia todo el código siguiente en el script que habías abierto anteriormente en el Paso 2.
- Sitúa el cursor en la primera línea del script.
- Pulsa repetidamente Ctrl+Enter hasta el final. Verás que R va leyendo las indicaciones del script. Reproduce los resultados en la consola.
Este es un ejemplo de cómo podemos organizarnos el código en el script. Fijémonos en dos detalles:
- R no reproduce las líneas de código que empiezan con
#
. - R no lee el texto que hay a la derecha del símbolo
#
, en la línea de código deletters
y deLETTERS
.
Ahora veamos qué pasaría si quitáramos la almohadilla.
Pruebas con paquete base letters en minúscula
El programa nos devuelve un error. R cree que Pruebas con paquete base
y letters en minúscula
son los nombres de varios objetos, que obviamente no reconoce.
3.2 Reglas básicas del script
Hay cuatro reglas básicas que debemos seguir cuando utilizamos el script.
-
Los espacios. R no lee los espacios. Si los ponemos es porque nos ayudan a entender mejor el código. Por ejemplo, R leerá igual
glimpse(starwars)
queglimpse( starwars )
, o también:
2+2
2 + 2
- Saltos de línea. Cuando pedimos a R que lea una línea de código, el programa nos saltará automáticamente a la siguiente si interpreta que el código no está finalizado. Por ejemplo:
count(starwars,
homeworld)
Cursor. Si el cursor está situado en cualquier posición en un indicador de órdenes del script, R leerá toda la frase entera (y esto puede implicar que R también nos lea líneas superiores o inferiores). En el código siguiente, tenemos el cursor en el indicador de órdenes número 5. Si pulsamos Ctrl+Enter, irá a buscar el principio del código hasta la línea número 2.
Selección. Si en lugar de situar el cursor en una parte del código seleccionamos una parte del indicador de órdenes iluminándolo con el cursor y pulsamos Ctrl+Enter, R solo nos leerá esta parte. En el código siguiente, R interpreta que SÓLO tiene que leer
starwars
.
Cuando trabajamos con R, es muy habitual que nos aparezcan errores en la consola. Lo más importante es aprender a leer la consola para saber de qué error se trata. Las principales fuentes de error con las que nos encontraremos corresponden a cosas que ya hemos visto a estas alturas. Aquí tenemos algunos de los errores más habituales:
- Acabamos un código con una coma (
starwars,
) y R interpreta por error que debe leer la línea siguiente:
Error: unexpected ',' in "starwars,"
- Acabamos un código sin cerrar un paréntesis (
glimpse(starwars
) y R interpreta por error que debe leer la línea siguiente:
En este caso aparecerá un símbolo + en la consola
- Acabamos un código sin cerrar una comilla y R interpreta por error que debe leer la línea siguiente:
En este caso aparecerá un símbolo + en la consola
- No hemos instalado el paquete
ddf
o no hemos escrito correctamente el nombre del paquete que queríamos utilizar.
Error in library(ddf) : there is no package called ‘ddf'
- No tenemos cargado el paquete contenedor de la función
frtr
o hemos tecleado mal el nombre de la función.
Error in frtr(dd) : could not find function "frtr"
- No hay ningún objeto que se llame
letters en
.
Error: unexpected symbol in "letters en"
- No hay ningún objeto que se llame
strawars
.
Error: object 'strawars' not found