Si tenemos que definir R, diríamos que se trata de un lenguaje y entorno de programación con un claro enfoque al análisis estadístico. No obstante, a pesar de que ese era su planteamiento inicial, en la actualidad, dada la aportación de muchos académicos e investigadores, se ha convertido en un lenguaje muy completo que le hace muy popular en el campo de Data Mining, investigación analítica, bioinformática o matemáticas financieras.
Inicialmente desarrollado por Robert Gentleman y Ross Ihaka del Departamento de Estadística de la Universidad de Auckland en 1993, R es un programa en continuo proceso de evolución. En la actualidad, es el R Development Core Team quien se responsabiliza de su desarrollo.
R es parte del sistema GNU, y se distribuye bajo la licencia GNU GPL. Se encuentra disponible para los sistemas operativos Windows, Mac OS, Unix y GNU/Linux. Así, a modo de resumen, podemos decir que por R nos podemos referir no sólo al lenguaje sino al intérprete que ejecuta el código escrito, el sistema que es capaz de representar visualmente lo que hemos programado y la aplicación que engloba a los anteriores.
Cuando una persona se plantea aprender un lenguaje de programación, en nuestro caso aplicado a la ciencia, inteligencia artificial, o análisis de datos, la pregunta que surge es si la elección es acertada o qué ventajas e inconvenientes presenta dicho lenguaje frente a otras alternativas. Siendo conscientes de la velocidad a la que evoluciona este campo, los lenguajes dominantes son susceptibles también de dichos cambios, pudiendo alternar sus posiciones en función de qué funcionalidades (se) desarrollen. En esta sección, tratamos de describir las ventajas de R frente a otras alternativas como Python.
Comparando R con Python, el primero pierde frente al segundo si se comparan como lenguajes de programación propiamente dicho. R no es un verdadero lenguaje de programación y, por tanto, Python destaca como una herramienta de desarrollo o construcción de código. Esto es debido a algo que siempre se ha destacado de Python, la versatilidad y la facilidad de lenguaje o sintaxis. Sin embargo, en visualización, se podría afirmar que R sigue por delante, con paquetes como ggplot2, rCharts o googleVis. De hecho, librerías de Python para visualización, como Plot.ly, también tienen cabida en R. Aunque Python ya cuenta con librerías destinadas al análisis estadístico de datos, R sigue igualmente por delante en este aspecto. Si enumeramos algunas de las ventajas (no exclusivas) de R:
Podemos concluir que la elección de R o Python atiende más a las necesidades específicas de cada uno, y entendidas dichas necesidades, en la identificación de las capacidades de cada opción para resolver el problema. Generalmente, si se trabaja en aplicaciones de investigación, estadística o análisis de datos, R será la opción dominante. Si se trata de aplicaciones más de ingeniería o programación, Python será la primera. R no requiere que seas programador; de hecho, no es un lenguaje para programadores sino más para estadísticos. Python sí es un lenguaje más vinculado a la programación y, por ello, que su sintaxis sea tan legible.
Existe la opción de ejecutar R desde terminal o línea de comandos (Console Mode) o tomar la opción de trabajar con un IDE (Integrated Development Environment) o entorno de desarrollo.
Existen numerosas opciones de IDE para trabajar con R, pudiendo destacar a Bluefish, Eclipse, Emacs, jEdit, Vim, notepad++, Visual Studio o RStudio. Es este último editor el que propondremos como herramienta de desarrollo en este curso, aunque previamente aprenderemos a usar el entorno de línea de comandos.
Prueba RStudio Cloud
Instala R
El Símbolo # comenta el código y el intérprete de R no ejecutará
Las operaciones aritméticas en R son muy sencillas:
(pista, e es el número Euler =2.718… Aunque no hemos llegado a las funciones, averigua qué función te permite obtenerlo).
Como en cualquier otro lenguaje, R permite crear variables en la que guardar valores para reusarlos posteriormente.
R es un lenguaje de tipado dinámico, esto quiere decir que no es necesario especificar el tipo de dato al declarar una variable.
Ejemplo de creación de una variable:
mi_variable <- 4
# Crea la variable “mi_variable” y le asigna el #valor 4
uno <- 5+5
#continua
print(uno)
#continua
mis_manzanas <- 5
mis_naranjas <- "seis"
mi_fruta <- mis_manzanas + mis_naranjas
¿Qué ha ocurrido? Imprime el valor de la variable mi_fruta Corrige el error y ejecuta la última línea
mi_fruta <- mis_manzanas + mis_naranjas
Crea tres variables: “numero”, “texto” y “booleano” y asigna los valores valor 42.5, “fp rules”, FALSE respectivamente. Ahora cambia sus valores por 42, “R es facil” y TRUE. Imprime por pantalla el valor de las tres variables.
Comprueba ahora el tipo de cada una de las variables. Repítelo con las variables del ejercicio anterior (“uno”, …, ”ocho”). Utiliza para ello la función class().
La función date() nos muestra la fecha actual del sistema. Averigua a qué tipo de dato básico es.
¿Cuántos tipos básicos tiene R? Enuméralos en un comentario.
Continúa practicando estos conceptos. Abre un editor de código y escribe todos comandos de los ejercicios anteriores en un fichero con el formato PRIA_nombre_apellido.R Sal del entorno de R sin guardar cambios en el entorno.
Extra 1: Busca información sobre el comando Rscript. Prueba ejecutar Rscript sobre el fichero de tu práctica. Agrega al final el comando utilizado, en un comentario
Extra 2: La función source() nos permite ejecutar un script dentro del entorno R. Esto nos ayudará a dividir el código, pudiendo comentar esas líneas cuando no queremos ejecutar todo el código completo. Crea tres archivos .R con la secuencia de comandos de cada sección de las anteriores Aritmetica.R (ejercicios 1-2), Variables.R (ejercicios 3-4), TiposBasicos.R (ejercicios 5-9) Escribe un 4º script Todo.R en el que debes ejecutar los tres scripts anteriores. Ejecútalo todo con Rscript en el orden indicado arriba.
Extra 3: Busca información sobre todos los comandos para instalar el motor de R (Sólo R, no Rstudio) en una consola Linux. Prepara uno o varios Shell scripts con todos los comandos necesarios e intenta la instalación en un entorno linux.
Extra 4: Crea un fichero de texto “vacio.R” y programa en un cron la ejecución de un script de R vacío para que se ejecute cada minuto. Adjunta el crontab en la entrega junto con el resto de ejercicios.
Actividad Colaborativa: Si has terminado antes que tus compañeros y has desplegado tu servidor de R en tu máquina local, ayuda a tus compañeros a terminar su parte.
Como material extra de aprendizaje, recopila información sobre la puesta en producción de aplicaciones en R.