Introducción a R

¿Qué es “Programar”?

Programar es el proceso de crear un conjunto de instrucciones para decirle a la computadora cómo realizar una tarea. La tarea de “programar” no se centra exclusivamente en escribir código, si no que conlleva una serie de pasos previos antes de “codificar” las instrucciones.

  • Descomponer un problema complejo en partes más pequeñas.
  • Reconocimiento de patrones repetitivos.
  • Resolución de los problemas paso a paso.
  • Escribir el código.

¿Qué es un lenguaje de programación?

Un lenguaje de programación es un lenguaje formal (es decir, un lenguaje con reglas gramaticales bien definidas) que proporciona al programador la capacidad y habilidad de escribir instrucciones o secuencias de órdenes para controlar el comportamiento de un sistema informático.

El entorno de R

R es un conjunto integrado de software para la manipulación, cálculo y visualización de datos. Entre otras cosas tiene:

  • Tratamiento y almacenamiento de datos eficaz.
  • Conjunto de operadores para el calculo sobre matrices.
  • Conjunto integrado de herramientas para el análisis y visualización de datos.
  • Un simple y efectivo lenguaje de programación.
  • Ampliamente utilizado en investigación cientifica.

¿Qué es un “Programa”?

Un programa informático es una secuencia de instrucciones basadas en un lenguaje de programación que el ordenador interpreta para resolver un problema. Los elementos básicos de un programa son:

  • Instrucciones: conjunto de ordenes que indican al ordenador como realizar una tarea específica (asignar un valor a una variable, ejecutar un bucle que itera sobre una lista de datos).
  • Datos: pueden ser números, texto, imagénes, etc.. . En resumen cualquier tipo de información que el programa manipule. En general, son la razon de ser de muchas aplicaciones.
  • Operadores: son las herramientas que permiten realizar operaciones sobre los datos (sumar, multiplicar, comparar, asignar, etc..).
  • Variables: actuan como contenedores de información permitiendo que un programa conserve información y realice operaciones sobre esta información, en cierto modo se puede decir que son la “memoria” del programa.

¿Qué es un IDE?

Un entorno de desarrollo integrado (IDE) es una aplicación de software que ayuda a los programadores a desarrollar código de software de manera eficiente y aumentando la productividad.

El IDE más popular para R es RStudio, aunque hay otros que tambien se pueden utilizar:

¿Por qué aprender R?

El hecho de que R sea un lenguaje de programación disuade a algunos usuarios que piensan qe no saben programar. Esto no debería ser un impedimento. Primero, R es un lenguaje interpretado (no uno compilado), lo que significa que todos los comandos son directamente ejecutados sin necesidad de construir un programa completo. Segundo, la sintaxis de R es muy simple e intuitiva.

R es gratuito, multiplataforma, multitud de librerias, en constante crecimiento, con una documentación en linea completa y de buena calidad, etc…

¿Cómo funciona?

Cuando se ejecuta R, las variables, funciones, datos, resultados, etc.., son almacenados en la memoria activa del ordenador en forma de objetos que tienen nombre. El usuario puede hacer acciones sobre estos objetos con operadores (aritméticos, lógicos, asignación, …) y funciones.

¡Hola Mundo!

El programa “¡Hola Mundo!” suele ser el primer ejercicio típico en la introducción del estudio de un lenguaje de programación.

saludo <- '¡Hola Mundo!'

saludo
[1] "¡Hola Mundo!"

En la primera linea el texto ‘¡Hola Mundo!’ se asigna a la variable saludo usando el operador de asignación <- (es posible usar =, que es el operador usado en otros lenguajes de programación). En la segunda linea llamamos a la variable saludo y se muestra su contenido.

Variables

Las variables sirven para almacenar un valor (datos, información) que luego vamos a utilizar en algun procedimiento. En general partiremos de unos datos experimentales con los que haremos calculos o otros procedimientos teniendo como resultados datos intermedios. Para poder hacer referencia en R a esos datos, usaremos variables. En R existen varios tipos de objetos que permiten que el usuario pueda almacenar la información para realizar los procedimientos estadísticos y gráficos. En general podemos clasificar las variables en función del tipo de dato que van a almacenar. Así, tendremos variables simples (una variable que almacene el valor 10) o variables más complejas (una variable que almacene la tabla de resultados de un HPLC-MS).

Variables simples

Tipo de dato Descripción Definición
Numeric Números decimales numero <- 1.0
Integer Números enteros entero <- 1
Character Cadenas de texto texto <- “un texto”
Complex Números complejos complejo <- 3 + 2i
Logical TRUE o FALSE 5 < 6; 5 == 5
Factor Es una variable de tipo categórica

Las variables de tipo texto se entrecomillan (con comillas dobles o simples). Esto es necesario sino no podríamos distinguir un dato tipo texto del nombre de una variable. Por ejemplo ‘saludo’ es un texto (información), mientras que saludo es el nombre de una variable que almacena el texto ‘¡Hola Mundo!’.

Tambien hay que distinguir entre 100, que es el número 100 y ‘100’ que es el texto ‘100’. Sobre el número 100 podemos usar operadores matématicos, si lo intentamos sobre el texto ‘100’, recibiremos un error.

numero_a <- 100
numero_b <- 10
numero_a + numero_b
[1] 110
valor_logico <- numero_a != numero_b
valor_logico
[1] TRUE
texto_a <- '100'

texto_a + numero_a

Error in `texto_a + numero_a`:
! argumento no-numérico para operador binario

Variables complejas

Este tipo de variables almacenan datos más complejos que en el caso de las variables simples. Además este tipo de objetos suelen tener métodos y atributos que nos permiten acceder a los datos que contienen.

  • Vectores: Los vectores almacenan una secuencía de valores simples todos del mísmo tipo.
  • Listas: A diferencia de los vectores las listas es una colección de elementos que pueden ser de diferente tipo.
  • Matrices: Una matriz es una estructura bidimensional que almacena números.
  • Data frames: Un data frame es una estructura bidimensional que puede almacenar tipos de datos mixtos.

Funciones

una función es un bloque de código que realiza una operación. Una función tiene tres componentes importantes:

  • Los parámetros, que son los valores que recibe la función como entrada.
  • El código de la función, que son las operaciones que hace la función.
  • el resultado (o valor de retorno), que es el valor final que entrega la función.

En general usaremos las funciones que vienen con la instalación de R, o con la instalación de paquetes adicionales. Aunque podemos escribir nuestras propias funciones (para reutilizar código, por ejemplo). En R siempre aparecera el nombre de la función seguido por parentesis . Entre estos parentesis apareceran los parámetros que recibe la función. De la forma esto_es_una_funcion(parametro_1, parametro2, …).

Ejemplo con la función paste(), que permite concatenar texto

variable_a <- 'Esto'
variable_b <- 'es'
variable_c <- 'un ejemplo'

texto <- paste(variable_a, variable_b, variable_c, sep = ' ')
texto
[1] "Esto es un ejemplo"

La función paste() recibe como argumento las 3 variables definidas anteriormente y el parametro sep concatenando las 3 variables y separandolas por el valor de sep. El resultado de la función es almacenado en la variable texto.

¿Cómo se que argumentos recibe una función?

Con la instalación de R (y otros paquetes) tambien se instala la documentación que podemos consultar. usando el operador ? (p. ej. ?paste).

Otra alternativa es buscar ayuda en internet, buscando ‘paste documentation r’

Referencias

An Introduction to R