Para comenzar a usar R, el primer paso es instalarlo en tu computadora. R es compatible con casi todas las plataformas, incluyendo los sistemas operativos más comunes. Windows, Mac OS X y Linux. Links de descarga para y RStudio. Nota: Antes de instalar Rstudio, debes instalar R (el motor)
RStudio es un entorno de desarrollo integrado (IDE) disponible para R, el cual tiene un buen editor con resaltado de sintaxis, un visor de objetos de R y un gran número de características agradables que están integradas.Ademas, esta dedicado a la computación estadística y gráficos.
Puedes utilizar Rstudio en cualquier dispositivo conectado a internet y guardar todos tus archivos en la nube. Encontras todo tal como lo dejaste en cualquier equipo. Recuerda que esta versión tiene un límite de horas de uso mensual. Link de acceso a RStudio Cloud
Puede resultar de mucha utilidad trabajar y guardar los comandos usados en un “script” de R. El script es básicamente un documento de texto donde puedes ir escribiendo todos los comandos a ejecutar, es la hoja de ruta que el programa seguirá para analizar tus datos. Considera el hecho de que si se antepone a una línea de comando el signo #, este no será ejecutado y el programa lo considerará como un comentario.
Las librerías en R son colecciones de funciones, datos y documentación que amplían las capacidades del lenguaje base. También se les llama paquetes (packages). Estas librerías permiten a los usuarios realizar análisis de datos, visualización, modelado estadístico, aprendizaje automático, entre otras tareas, sin necesidad de programar todo desde cero.
Ejemplo: “Mundo” Tidyverse en R-Studio
El Tidyverse es una colección de paquetes del R que permiten preparar, procesar y graficar bases de datos. Se destacan los siguientes:
ggplot: permite crear visualizaciones elegantes de los datos de una manera relativamente sencilla.
stringr: permite manipular cadenas de caracteres con el fin de realizar sustituciones, detectar duplicados, analizar patrones, etc.
tidyr: tiene como
objetivo obtener datos ordenados. Destacan funciones como
gather para crear factores con base en nombres de columnas
y separate para crear factores separando los caracteres de
una columna.
readr: permite importar
y exportar bases de datos en diferentes formatos y tiene implementada la
función problems que detecta problemas en nuestras
bases.
Para más información visitar la página web:
https://www.tidyverse.org/packages/
Para instalar librerías: Install.pachages(“nombre de la librería”) por primera vez y para llamarla o utilizarla library(nombre de la librería) o en su defecto, require(nombre de la librería)
# Instalar la librería (solo la primera vez)
#install.packages("tidyverse")
# Cargar la librería
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
R Markdown es un formato
de documento que combina código R, texto y visualizaciones en un solo
archivo, permitiendo generar informes dinámicos en varios formatos como
HTML, PDF y Word. Es ampliamente utilizado en análisis de datos,
reportes automatizados y documentación reproducible.
Se basa en el lenguaje Markdown para formatear el texto y en R para ejecutar código dentro del documento.
Estructura de un archivo R Markdown Un archivo .Rmd tiene tres partes principales:
Si escribes sobre este tipo de ventana, estarás generando solo texto, pero puedes incluir chunks o “trozos” de código a lo largo de todo tu trabajo y crear informes como este que estas leyendo.
Renderizar el documento
Si quieres aprender R, primero necesitas entender cómo funcionan los lenguajes de programación en general
Todos los lenguajes (incluyendo R) tienen ciertas bases comunes:
Creación de Objetos
R es un lenguaje orientado a objetos. Los objetos pueden ser usados para guardar valores y pueden madificarse mediante funciones como por ejemplo sumar dos objetos o calcular la media.
X <- 4
Y <- 2
X+Y
## [1] 6
Puedes hacer operaciones matemáticas básicas como +, -, *, /.
- También puedes calcular potencias (^), raíces cuadradas (sqrt()),
logaritmos (log()) y funciones trigonométricas (sin(), cos(), tan()). -
print() se usa para mostrar los resultados en la consola.
# Operaciones básicas
5 + 3 # Suma
## [1] 8
10 - 4 # Resta
## [1] 6
6 * 7 # Multiplicación
## [1] 42
20 / 5 # División
## [1] 4
# Potencias y raíces
2^3 # 2 elevado a la 3
## [1] 8
sqrt(16) # Raíz cuadrada de 16
## [1] 4
# Operaciones avanzadas
log(100, base = 10) # Logaritmo base 10
## [1] 2
exp(2) # e^2
## [1] 7.389056
sin(pi / 2) # Seno de 90 grados (π/2 radianes)
## [1] 1
| Tipo | Ejemplo | Descripción |
|---|---|---|
| Numeric | 3.14, -2.5 |
Números con decimales |
| Integer | 10L, -5L |
Números enteros |
| Character | "Hola" |
Texto o cadenas de caracteres |
| Logical | TRUE, FALSE |
Valores lógicos (booleanos) |
| Factor | factor("azul", "rojo") |
Variables categóricas |
| Date | as.Date("2024-02-05") |
Fechas |
| POSIXct | as.POSIXct("2024-02-05 14:30:00") |
Fechas y horas |
# Numéricas (Numeric)
num <- 3.14 # Número decimal
class(num)
## [1] "numeric"
# Enteros (Integer)
entero <- 10L # Número entero
class(entero)
## [1] "integer"
# Cadenas de Texto (Character)
texto <- "Hola, mundo"
class(texto)
## [1] "character"
# Lógicos (Logical)
logico <- TRUE
class(logico)
## [1] "logical"
# Factores (Factor)
colores <- factor(c("rojo", "azul", "verde", "rojo"))
class(colores)
## [1] "factor"
levels(colores) # Ver categorías
## [1] "azul" "rojo" "verde"
# Fechas y Tiempos (Date y POSIXct)
fecha <- as.Date("2024-02-05") # Convertir a fecha
hora <- as.POSIXct("2024-02-05 14:30:00") # Fecha y hora
class(fecha)
## [1] "Date"
class(hora)
## [1] "POSIXct" "POSIXt"
Nota: La función class permite ver qué tipo de variable estamos utilizando
En R, los datos se pueden organizar en diferentes estructuras según la forma en que se almacena y manipula la información.
| Estructura | Descripción | Ejemplo |
|---|---|---|
| Vector | Secuencia de elementos del mismo tipo | c(1, 2, 3, 4, 5) |
| Matrix | Tabla bidimensional con el mismo tipo de dato | matrix(1:9, nrow = 3, ncol = 3) |
| List | Contiene diferentes tipos de datos | list(nombre = "Ana", edad = 25) |
| Data Frame | Tabla con columnas de diferentes tipos | data.frame(Nombre = c("Ana", "Carlos"), Edad = c(25, 30)) |
| Factor | Variable categórica con niveles | factor(c("rojo", "azul", "verde")) |
| Array | Estructura multidimensional | array(1:8, dim = c(2,2,2)) |
# Vector numérico
vector <- c(1, 2, 3, 4, 5)
vector
## [1] 1 2 3 4 5
# Vector de caracteres
caracteres<- c("rojo", "azul", "verde")
caracteres
## [1] "rojo" "azul" "verde"
# Vector lógico
logico<- c(TRUE, FALSE, TRUE)
logico
## [1] TRUE FALSE TRUE
# Mostrar tipo
class(vector)
## [1] "numeric"
###Factor
# Crear un factor con categorías
colores <- factor(c("rojo", "azul", "verde", "rojo"))
# Ver niveles
levels(colores)
## [1] "azul" "rojo" "verde"
Similar a una matriz pero con más de 2 dimensiones.
# Crear un array de 3 dimensiones (2x2x2)
mi_array <- array(1:8, dim = c(2,2,2))
# Mostrar array
print(mi_array)
## , , 1
##
## [,1] [,2]
## [1,] 1 3
## [2,] 2 4
##
## , , 2
##
## [,1] [,2]
## [1,] 5 7
## [2,] 6 8
# Crear una matriz 3x3 con números del 1 al 9
matriz <- matrix(1:9, nrow = 3, ncol = 3)
matriz
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
# Mostrar matriz
print(matriz)
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
Puede contener diferentes tipos de datos (vectores, matrices, data frames, etc.).
# Crear una lista con diferentes tipos de datos
mi_lista <- list(nombre = "Ana", edad = 25, notas = c(9, 8, 10))
# Mostrar contenido de la lista
print(mi_lista)
## $nombre
## [1] "Ana"
##
## $edad
## [1] 25
##
## $notas
## [1] 9 8 10
Es una tabla donde cada columna puede tener diferentes tipos de
datos.
Es la estructura más utilizada en análisis de datos.
# Crear un data frame
df <- data.frame(Nombre = c("Ana", "Carlos", "Luis"), Edad = c(25, 30, 22), Aprobado = c(TRUE, FALSE, TRUE))
# Mostrar data frame
df
En R, la sintáxis del condicional consiste en:
if (A): evalúa si se cumple la
condición A.else if (B): si no se cumple la
condición o condiciones anteriores, entonces evalúe si se cumple la
condición B.else: si no se cumple ninguna de las
condiciones anteriores entonces haga lo siguiente.Ejemplo:
a<-9
if (a<0){
print("a es negativo")
}else if (a>0){
print("a es positivo")
}else{
print("a es igual a cero")
}
## [1] "a es positivo"
Usado para repetir un bloque específico de código, siguiendo una secuencia dada.
suma<-0
for (i in 1:10){
suma<-suma+i
}
suma
## [1] 55
# Asignación de valores
a <- 1
b <- 3
# Operaciones y comentarios explicativos
# ¿b es diferente de a?
b != a # TRUE
## [1] TRUE
# ¿es a igual a b?
isTRUE(a == b) # FALSE
## [1] FALSE
# Negar que a es menor que b
!(a < b) # FALSE
## [1] FALSE
# ¿es a menor que b o b menor que a?
(a < b | b < a) # TRUE
## [1] TRUE
# ¿es a menor o igual a b o b igual a a?
(a <= b & b == a) # FALSE
## [1] FALSE
Objetivo: Familiarizarte con operaciones aritméticas
y asignación de variables en R.
Instrucciones:
Objetivo: Aprender a crear vectores y trabajar con ellos.
Instrucciones:
En esta primera parte hemos explorado y nos hemos
familiarizado con el lenguaje de programación en R.
Hemos dado los primeros pasos. En el siguiente iniciaremos con el
tratamiento de datos.