R para la ciencia de datos*
Introducción a R
Wilfredo Bacilio Alarcón
Agosto 08, 2023
Resumen
El presente documento presenta una introducción a R para el uso en la ciencia de datos.
Las notas corresponden a un curso de R for Data Science dictado por md@ online y el material es
exclusivo para sus estudiantes.
Índice
1. Introducción a R 2
1.1. ¿Qué es R y RStudio? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Tidyverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Paquetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4. Primeros pasos en R: ejecutando código R . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5. Funciones, comandos, variables, operadores . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5.1. Funciones o comando en R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5.2. Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5.3. Operador pipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.6. Tipo de datos en R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.7. Operadores aritméticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
* Módulo 1
1
1. Introducción a R
1.1. ¿Qué es R y RStudio?
R es un lenguaje de programación y un entorno de software utilizado principalmente para el
análisis estadístico, la manipulación de datos, la visualización de datos y la creación de gráficos.
Fue desarrollado por Ross Ihaka y Robert Gentleman en la década de 1990. R es de código abierto,
lo que significa que cualquier persona puede usarlo, modificarlo y distribuirlo de manera gratuita.
RStudio es un entorno de desarrollo integrado (IDE) gratuito y de código abierto diseñado
específicamente para trabajar con el lenguaje de programación R. Fue creado por RStudio, Inc. y
se ha convertido en una de las interfaces más populares para desarrollar en R.
El diseño inicial de RStudio cuenta con ventanas y sub-ventanas que son de ayuda al usuario. Las
principales son:
• Editor de código: Es el panel más grande y se utiliza para escribir, editar y guardar el código
en R. Aquí es donde se escriben los scripts, funciones y comandos que se desean ejecutar.
• Consola: Es el panel donde se muestra la consola interactiva de R. Aquí se ejecutan los
comandos de forma inmediata y se obtienen los resultados de las operaciones.
• Historial: Este panel muestra el historial de comandos que se han ejecutado en la sesión
actual de R. Puede ser útil para recordar comandos previamente utilizados.
• Archivos, Plots, Packages, Help, Viewer: Estos paneles proporcionan acceso a diferentes
funciones y recursos de RStudio:
– Archivos: Muestra el explorador de archivos para navegar y administrar los archivos
del proyecto.
– Plots: Muestra los gráficos y visualizaciones generadas por R.
– Packages: Proporciona una interfaz para instalar, cargar y gestionar paquetes de R.
– Help: Muestra la documentación y la ayuda de R para diferentes funciones y paquetes.
– Viewer: Muestra contenido web interactivo y otras salidas generadas por R.
• Entorno y historial de trabajos: Estos paneles muestran información sobre el entorno de
trabajo y el historial de comandos ejecutados en sesiones anteriores.
• Barra de herramientas: Contiene botones para acciones comunes, como guardar, ejecutar,
detener, entre otras.
• Barra de menú: Contiene los menús desplegables con las opciones para administrar el
entorno, archivos, paquetes y otras configuraciones de RStudio.
En general, la ventana de RStudio se organiza de manera intuitiva y facilita la administración de
proyectos, la escritura de código, la ejecución de comandos y la visualización de resultados. Los
diferentes paneles pueden personalizarse y reorganizarse según las preferencias del usuario.
2
1.2. Tidyverse
El “tidyverse” es un conjunto de paquetes de R desarrollados por Hadley Wickham y otros
colaboradores, que se centran en proporcionar herramientas coherentes y fáciles de usar para la
manipulación, visualización y análisis de datos. El objetivo principal del tidyverse es promover
el enfoque “tidy data” (datos organizados y estructurados de manera consistente) y una sintaxis
uniforme para trabajar con datos en R.
Algunos de los paquetes más populares del tidyverse incluyen:
• ggplot2: Utilizado para crear gráficos y visualizaciones basados en la gramática de gráficos.
• dplyr: Proporciona funciones para manipular y transformar datos de manera eficiente.
• tidyr: Ayuda a reorganizar y transformar datos para que estén en un formato “tidy”.
• readr: Permite leer y escribir datos en diferentes formatos, como CSV, Excel, entre otros.
• purrr: Proporciona herramientas para trabajar con funciones y datos de manera más flexible.
• tibble: Es una versión moderna y eficiente de los data frames de R.
• stringr: Ayuda a manipular y trabajar con cadenas de texto.
La integración del tidyverse facilita el flujo de trabajo y fomenta un código más legible y
reproducible. Para usar el tidyverse, primero debes instalarlo desde CRAN (Comprehensive R
Archive Network) utilizando el siguiente comando en la consola de R:
# Instalación del paquete "tidyverse"
# [Link]("tidyverse")
# Activación o carga del paquete instalado
library(tidyverse)
Con el paquete tidyverse cargado, tendrás acceso a todas las funciones y herramientas
proporcionadas por los diferentes paquetes incluidos en él.
1.3. Paquetes
En R los términos “paquete” y “librería” se utilizan indistintamente para referirse a una
colección de funciones, datos y documentación que extiende la funcionalidad del lenguaje. Los
paquetes en R son creados por diferentes desarrolladores y la comunidad en general, y pueden
ser instalados y utilizados para realizar tareas específicas, como análisis estadístico, visualización
de datos, manipulación de datos, entre otros.
Cuando se instala un paquete en R, este se guarda en una ubicación específica del sistema, y para
utilizar las funciones y características del paquete, es necesario cargarlo en la sesión actual de R.
Una vez cargado, las funciones y objetos del paquete están disponibles para su uso.
El repositorio oficial de paquetes de R se encuentra en el Comprehensive R Archive Network
(CRAN), que alberga miles de paquetes creados y mantenidos por la comunidad de usuarios
de R. Para instalar un paquete desde CRAN, puedes utilizar la función [Link](), tal
como se usó anteriormente para instalar el paquete tidyverse. Cabe señalar que solo requerimos
instalar una vez cada paquete, pero si debemos activarlos (cargarlos) cada vez que se use en un
script en R.
3
Los paquetes son una parte fundamental del ecosistema de R, ya que permiten que la comunidad
comparta y utilice funcionalidades especializadas, lo que hace que R sea una herramienta muy
potente y versátil para el análisis de datos y la investigación estadística.
Dentro del comando [Link]() se provee el nombre del paquete como un string o
caracteres como argumento. Por ejemplo, mediante el siguiente comando [Link]("dplyr")
se instala el paquete dplyer (Wickham et al., 2017a), un paquete muy útil para la manipulación
de datos.
#[Link]("dplyr")
library(dplyr)
1.4. Primeros pasos en R: ejecutando código R
Podemos iniciar solicitandoles a R que realice una suma sencilla.
1 + 3
## [1] 4
El resultado se obtiene de forma automática, sin embargo, si estamos interesados a usar cada uno
de los sumandos o la suma resultante, no podemos dado que no es posible volver a utilizarlos
pues simplemente hemos usaro R como una calculadora, es decir, hemos realizado simplemente
una expresión, sin embargo, lo que necesitamos hacer es una asignación.
En R, una expresión y una asignación son dos conceptos fundamentales relacionados con la
manipulación y el procesamiento de datos.
• Expresión en R: Una expresión en R es una combinación de valores, variables, operadores y
funciones que produce un resultado. Puede ser una operación matemática, una función que
realiza un cálculo o una combinación de ambas. Por ejemplo, las siguientes son expresiones
válidas en R:
# Expresiones en R
5 + 3 # Suma de dos valores
## [1] 8
sqrt(25) # Raíz cuadrada de 25
## [1] 5
x <- 10 # Asignación de valor a la variable x
y <- sin(pi) # Cálculo del seno de pi y asignación a la variable y
4
• Asignación en R: La asignación en R se realiza mediante el operador <- o mediante el
operador =. Ambos operadores se utilizan para asignar un valor a una variable. Por ejemplo:
# Asignación en R
x <- 10 # Se asigna el valor 10 a la variable x
y = 5 # También se asigna el valor 5 a la variable y (usando =)
z <- x + y # Se asigna el resultado de la suma de x e y a la variable z
z # resultado de sumar "x + y"
## [1] 15
En el ejemplo anterior, hemos asignado valores numéricos a las variables x e y y luego hemos
realizado una operación de suma entre ellas, cuyo resultado se ha asignado a la variable z.
La asignación en R es una operación fundamental para almacenar valores en variables y
utilizarlos posteriormente en otras expresiones o cálculos. Las variables asignadas pueden ser
reutilizadas y modificadas a lo largo del flujo de trabajo. Es importante tener en cuenta que en R,
el símbolo <- se considera una forma más segura y recomendada para asignar valores a variables
en lugar del símbolo =.
Tenemos que tener en cuenta algunas convenciones cuando estamos escribiendo o leyendo código
en R.
• Las funciones están en una fuente de código y van seguidas de paréntesis, como sum(), o
mean().
• Otros objetos R (como datos o argumentos de función) están en una fuente de código, sin
paréntesis, como flightso x.
• Si queremos aclarar de qué paquete proviene un objeto, usaremos el nombre del
paquete seguido de dos puntos, como ggplot2::qplot, el cual significa que qplot()
es proporcionado por el paquete ggplot2.
1.5. Funciones, comandos, variables, operadores
Los comandos se conocen formalmente como funciones (término que es generalmente usado en el
mismo contexto matemático). Una función simplemente toma un conjunto de entradas y produce
una salida.
1.5.1. Funciones o comando en R
En R, una función o comando es una secuencia de instrucciones o código que realiza una tarea
específica. Pueden ser funciones predefinidas en R o comandos creados por los usuarios para
llevar a cabo una variedad de operaciones, como realizar cálculos matemáticos, manipular datos,
generar gráficos, realizar análisis estadísticos y mucho más.
Las funciones en R son esenciales porque permiten encapsular una serie de tareas en una sola
llamada, lo que facilita la reutilización del código y la organización del trabajo en bloques más
manejables y comprensibles. Cada función en R tiene un nombre único que se utiliza para
5
llamarla y puede aceptar argumentos (parámetros) que le proporcionan información o datos para
su ejecución.
Las funciones predefinidas en R se encuentran en el lenguaje base de R y se pueden utilizar sin
necesidad de instalar paquetes adicionales. Por ejemplo, funciones como sum(), mean(), sqrt(),
length(), entre otras, son funciones predefinidas que realizan cálculos matemáticos y operaciones
básicas. Toda función en R toma argumentos (un conjunto de entradas) y devuelve valores (una
salida). Cuando ejecutamos una función nos interesa el valor que devuelve. A continuación se
muestra un ejemplo sencillo usando las funciones predefinidas de R.
x <- c(1,2,3,4,5,6,7,8,9,10) # Argumento de entrada
sum(x) # Devuelve la suma de los elementos del vector "x"
## [1] 55
sqrt(x) # Devuelve la raíz cuadrada de los elementos del vector "x"
## [1] 1.000000 1.414214 1.732051 2.000000 2.236068 2.449490 2.645751 2.828427
## [9] 3.000000 3.162278
length(x) # Devuelve el tamaño (numero de elementos) del objeto (vector) "x"
## [1] 10
Además, R permite a los usuarios crear sus propias funciones mediante el uso de la sintaxis
function(). Aquí tienes un ejemplo sencillo de cómo definir y utilizar una función personalizada
en R:
# Función suma
suma <- function(x) {
resultado <- sum(x)
mensaje <- paste("La suma de los elementos del vector x es: ", resultado)
return(mensaje)
}
suma(x)
## [1] "La suma de los elementos del vector x es: 55"
Como puedes apreciar, se ha reutilizado funciones predefinidas en R y se ha adicionado detalles
que puedan ser de utilidad para el usuario.
6
1.5.2. Variables
En R, una variable es un contenedor que se utiliza para almacenar valores, datos u objetos. Las
variables son fundamentales en la programación y permiten asignar nombres a los datos para
poder acceder a ellos, manipularlos y realizar operaciones.
En R, para crear una variable, se utiliza el operador de asignación “<-” o el operador “=”. El
nombre de la variable se coloca en el lado izquierdo del operador de asignación, y el valor o el
objeto que se desea almacenar se coloca en el lado derecho. También se dice que una variable es
un nombre que podemos usar para hacer referencia a una ubicación específica en la memoria de
la computadora donde almacenamos datos mientras nuestros programas se están ejecutando. Por
ejemplo, vamos a almacenar el resultado de la función suma() creada anteriormente:
s <- suma(x) # asignamos el resultado de suma(x) a la variable "s"
s # Solicitamos que devuelva el resultado almacenado en "s"
## [1] "La suma de los elementos del vector x es: 55"
Usamos el término objeto para describir cosas que se almacenan en R. Las variables y funciones
son ejemplos de objetos.
1.5.3. Operador pipe
En R, un “pipe” es un símbolo que se utiliza para facilitar la manipulación y transformación de
datos en un flujo secuencial. El operador pipe se representa mediante el símbolo %>% y es parte
del paquete magrittr, aunque también se encuentra disponible en otros paquetes como dplyr.
El pipe permite encadenar varias operaciones de manera más legible y eficiente, evitando la
necesidad de anidar múltiples funciones. Al utilizar el pipe, el resultado de una operación se
pasa automáticamente como entrada a la siguiente operación. Esto facilita la escritura de código
más conciso y fácil de entender, especialmente cuando se trabaja con transformaciones de datos
complejas.
La idea es pasar la salida de una función a otra función como la entrada de esa función a través de
una secuencia de pasos. Cada función realiza una tarea y tiene como objetivo hacer esa tarea muy
bien, con mucha precisión y de manera muy simple desde el punto de vista del usuario. Luego,
podemos unir muchas de estas funciones especializadas para ofrecer transformaciones de datos
muy complejas y bastante sofisticadas de una manera fácilmente accesible.
UN ejemplo de su uso es el siguiente:
# Cargamos el paquete dplyr
library(dplyr)
# Cargamos la data "iris" (un data set por defecto en R)
data("iris")
# Usamos el operador pipe para calcular la media del tamaño de pétalo
media_tp <- iris %>%
summarise(ma = mean([Link]))
# mostramos los resultados
media_tp
7
## ma
## 1 3.758
El operador %>% toma el conjunto de datos “iris” y lo pasa a la función summarise() del paquete
dplyr. Dentro de summarise(), utilizamos la función mean() para calcular la media del tamaño
de pétalo (columna [Link]). El resultado se guarda en la variable media_tp, que se imprime
para mostrar el valor de la media.
1.6. Tipo de datos en R
R tiene varios tipos de datos, como números (enteros y decimales), caracteres (texto), vectores,
matrices, listas, data frames, entre otros. Algunos ejemplos:
# Números
num <- 10
decimal <- 3.14
# Texto
texto <- "Hola mundo!"
texto
## [1] "Hola mundo!"
# Vectores
vector <- c(1,2,3,4,5)
vector
## [1] 1 2 3 4 5
# Matrices
matriz <- matrix(c(1,2,3,4,5,6,7,8,9), 3, 3)
matriz
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
# Data frame
data <- [Link](matriz)
data
## X1 X2 X3
## 1 1 4 7
## 2 2 5 8
## 3 3 6 9
8
1.7. Operadores aritméticos
Los operadores aritméticos en R son herramientas fundamentales que permiten realizar
diversas operaciones matemáticas en el lenguaje de programación. Aquí te proporcionamos una
explicación completa de los operadores aritméticos en R, junto con ejemplos prácticos:
• Suma ( + ): El operador de suma se utiliza para sumar dos valores o para agregar valores a
una variable.
# Ejemplo de suma de números
suma_numeros <- 5 + 3
suma_numeros
## [1] 8
• Resta ( - ):El operador de resta se utiliza para restar un valor de otro.
# Ejemplo de resta de números
resta_numeros <- 10 - 5
resta_numeros
## [1] 5
• Multiplicación ( * ): El operador de multiplicación se utiliza para multiplicar dos valores.
# Ejemplo de multiplicación de números
multiplicacion_numeros <- 4 * 2
multiplicacion_numeros
## [1] 8
• División ( / ): El operador de división se utiliza para dividir un valor por otro. Si se divide
un número entero por otro número entero, el resultado será un número decimal.
# Ejemplo de división de números
division_numeros <- 10 / 2
division_numeros
## [1] 5
division_decimal <- 10 / 3
division_decimal
## [1] 3.333333
9
• Módulo ( %% ): El operador de módulo se utiliza para obtener el residuo de una división
entera.
# Ejemplo de módulo
modulo <- 10 %% 3
modulo # 1 (residuo de la división de 10 entre 3)
## [1] 1
• Exponente ( ˆ ): El operador de exponente se utiliza para elevar un número a una potencia.
# Ejemplo de exponente
exponente <- 2 3
exponente
## [1] 8
Es importante tener en cuenta que el orden de precedencia de los operadores aritméticos sigue
las reglas convencionales de las matemáticas. Sin embargo, también se pueden utilizar paréntesis
para controlar el orden de las operaciones.
# Ejemplo con paréntesis
resultado <- (4 + 2) * 3
Recuerda que los operadores aritméticos se pueden combinar con variables y utilizar en
expresiones más complejas. Además, R también proporciona funciones y paquetes adicionales
para realizar cálculos matemáticos más avanzados, como funciones trigonométricas, logarítmicas,
entre otras.
10