knitr::opts_chunk$set(echo = TRUE)

Objetivos e instrucciones

Objetivo general:

En esta sesión aprenderemos acerca de los tipos de objetos que podemos generar y manipular con la sintaxis de Rstudio.

Instrucciones:

Lee atentamente cada apartado, luego desarrolla el ejercico tomando como referencia los ejemplos propuestos.

Nota: Este material de aprendizaje ha adaptado el contenido sobre el tema expresado en la publicación de Hernandez y Usuga (2024). Puedes encontrar el libro completo en https://fhernanb.github.io/Manual-de-R/

1. El entorno RStudio:

RStudio - el entorno
RStudio - el entorno

1.1 Analicemos el entorno

  1. Consola: Es el área principal donde puedes escribir y ejecutar comandos de R directamente. Aquí se muestra la salida de los comandos ejecutados.

  2. Script: Un editor de texto donde puedes escribir, editar y guardar código en archivos de script (generalmente con una extensión .R). Permite trabajar con código de manera más organizada y persistente que en la consola.

  3. Environment/History (Entorno/Historial):

    3.1 Entorno: Muestra las variables, conjuntos de datos y funciones que están en la memoria durante la sesión actual de R.

    3.2 Historial: Registra todos los comandos que has ejecutado en la consola durante la sesión actual y sesiones anteriores.

  4. Files/Plots/Packages/Help/Viewer (Archivos/Gráficos/Paquetes/Ayuda/Visor):

    6.1 Archivos: Permite navegar por los archivos y directorios de tu sistema de archivos local.

    6.2 Gráficos: Muestra los gráficos generados por el código R. Puedes también manipular y exportar estos gráficos desde aquí.

    6.3 Paquetes: Lista todos los paquetes instalados y permite instalar y cargar paquetes directamente.

    6.4 Ayuda: Proporciona acceso a la documentación de funciones y paquetes de R.

    6.5 Visor: Usado para mostrar archivos de Markdown, HTML, y otros tipos de contenido web generado a través de R.

2. Los paquetes de R

Package de R
Package de R

2.1 ¿Que es un paquete (package)?

En RStudio, un paquete es una colección de funciones de R, código y datos que están diseñados para realizar tareas específicas o resolver problemas particulares. Los paquetes en R permiten a los usuarios cargar un conjunto de funciones relacionadas sin necesidad de cargar cada función individualmente. Esto facilita el proceso de programación y ayuda a mantener el espacio de trabajo organizado y eficiente.

2.2 ¿Qué es el repositorio CRAN?

El CRAN (Comprehensive R Archive Network) es el principal repositorio de paquetes de R, donde los usuarios pueden descargar e instalar paquetes adicionales para extender la funcionalidad del software R. También proporciona el código fuente de R, documentación y manuales. Todos los paquetes en CRAN son revisados para cumplir con estándares de calidad antes de ser publicados.

3. Instalación de paquetes

3.1 ¿Cómo se instalan paquetes?

  1. Si descargas desde CRAN (Comprehensive R Archive Network):

    Usa la función install.packages(“nombre_del_paquete”)

  2. Si descargas desde GitHub:

    Primero necesitas instalar y cargar el paquete devtools si aún no está instalado:

    • install.packages(“devtools”)

    • library(devtools)

    Luego puedes instalar paquetes desde GitHub usando

    • devtools::install_github(“nombre_del_usuario/nombre_del_repositorio”)

3.2 ¿Qué paquetes usaremos en el taller?

Para nuestras sesiones copia el siguiente código en tu computadora y luego ejecútalo

  1. Instala la libreria pacman:
    • install.package(“pacman”)
  2. Cargar el paquete pacman:
    • library(pacman)
  3. Usar p_load para instalar y cargar los paquetes necesarios:
    • p_load(readr, tidyverse, psych, skimr, modeest, report, remotes)
  4. Instala este paquete adicional desde github:
    • install_github(“arcruz0/paqueteadp”)

4. Control de flujo de trabajo en RStudio

4.1 Organización del proyecto

Establecer la ruta de trabajo: Define el directorio de trabajo al inicio de tu sesión en RStudio para asegurarte de que todas las operaciones de lectura y escritura de archivos se realicen en el lugar correcto.

  1. Obtener la ruta de trabajo actual:

    Usa getwd() para consultar cuál es el directorio de trabajo actual.

  2. Establecer una nueva ruta de trabajo:

    Usa setwd(“ruta/del/directorio”) para cambiar el directorio de trabajo a la ubicación donde se encuentran tus archivos de datos y scripts.

  3. Crea un proyecto en RStudio:

    Utiliza la opción File > New Project para crear un nuevo proyecto. Esto establecerá automáticamente un directorio de trabajo para el proyecto, lo cual es recomendable ya que define un entorno aislado y reproducible para cada proyecto.

  4. Estructura de carpetas: Mantén tus scripts, datos y documentos bien organizados en carpetas específicas dentro del proyecto para facilitar el acceso y la gestión.

  5. Nombramiento consistente de archivos: Implementa un sistema de nombramiento claro y consistente para tus archivos y carpetas, reflejando su contenido y función dentro del proyecto.

5. Datos atómicos y objetos en RStudio

5.1Datos atómicos en R

Los tipos de datos atómicos en R se utilizan para crear vectores y se enumeran a continuación:

  1. Numérico: Incluye enteros y double (reales). Verifica si un objeto es numérico con mode() o is.numeric().

  2. Carácter: Comprende símbolos, letras, palabras o frases entre comillas. Usa is.character() para comprobar este tipo.

  3. Lógico: Consiste en los valores TRUE, FALSE y NA (dato faltante).

  4. Complejo: Maneja números complejos con partes real e imaginaria.

  5. Raw: Almacena bytes sin procesar. Convierte caracteres o enteros a raw con charToRaw() e intToBits(), respectivamente.

5.2 Objetos en R

Datos atómicos en R
Datos atómicos en R

¿Cómo creamos estos objetos en R?

A continuación, te proporciono ejemplos de código en R para crear vectores, matrices y data frames, que son los tipos de objetos ilustrados en la imagen que compartiste.

  1. Vector

Un vector es una colección de elementos del mismo tipo. Aquí te muestro cómo crear un vector numérico y uno de caracteres.

# Vector numérico
num_vector <- c(10, 20, 30, 40, 50)
print(num_vector)
## [1] 10 20 30 40 50
# Vector de caracteres
char_vector <- c("manzana", "banana", "cereza")
print(char_vector)
## [1] "manzana" "banana"  "cereza"
  1. Matriz

Una matriz en R es una colección bidimensional de elementos del mismo tipo. Puedes crear una matriz usando la función matrix().

# Matriz con 2 filas y 3 columnas
matrix_data <- matrix(1:6, nrow=2, ncol=3)
print(matrix_data)
##      [,1] [,2] [,3]
## [1,]    1    3    5
## [2,]    2    4    6
  1. Data Frame

Un data frame en R es similar a una matriz pero puede contener columnas de diferentes tipos. Se utiliza comúnmente para almacenar datos tabulares.

# Data frame con diferentes tipos de datos
data_frame <- data.frame(
  Nombres = c("Ana", "Luis", "Marta"),
  Edad = c(23, 31, 19),
  Altura = c(1.65, 1.82, 1.58),
  Estudiante = c(TRUE, FALSE, TRUE)
)
print(data_frame)
##   Nombres Edad Altura Estudiante
## 1     Ana   23   1.65       TRUE
## 2    Luis   31   1.82      FALSE
## 3   Marta   19   1.58       TRUE
  1. Array

Un array en R es una estructura de datos que puede contener más de dos dimensiones, a diferencia de las matrices que son bidimensionales. Los arrays son útiles cuando necesitas trabajar con datos multidimensionales.

Aquí te muestro cómo crear y manipular un array en R:

# Datos para el array
datos_array <- 1:24

# Crear un array de 2x3x4 (2 filas, 3 columnas, 4 capas)
mi_array <- array(datos_array, dim = c(2, 3, 4))

# Imprimir el array
print(mi_array)
## , , 1
## 
##      [,1] [,2] [,3]
## [1,]    1    3    5
## [2,]    2    4    6
## 
## , , 2
## 
##      [,1] [,2] [,3]
## [1,]    7    9   11
## [2,]    8   10   12
## 
## , , 3
## 
##      [,1] [,2] [,3]
## [1,]   13   15   17
## [2,]   14   16   18
## 
## , , 4
## 
##      [,1] [,2] [,3]
## [1,]   19   21   23
## [2,]   20   22   24
  • datos_array es un vector de datos que va del 1 al 24.
  • dim = c(2, 3, 4) especifica que el array debe tener 2 filas, 3 columnas y 4 capas profundas.
  • mi_array es el array resultante, que se imprime para visualizar su estructura.

6. Importación de datos

Nota: Asegúrate de tener los permisos necesarios para acceder a los archivos y que las rutas proporcionadas sean correctas.

Cargar la biblioteca rio

  library(rio)

Ejemplo 1: Importar datos desde un archivo CSV

datos_csv <- import("ruta/al/archivo.csv")

Ejemplo 2: Importar datos desde un archivo Excel

datos_excel <- import("ruta/al/archivo.xlsx")

Ejemplo 3: Importar datos desde un archivo JSON

datos_json <- import("ruta/al/archivo.json")

Ejemplo 4: Importar datos desde un archivo SPSS

datos_spss <- import("ruta/al/archivo.sav")

Ejemplo 5: Importar datos desde un archivo Stata

datos_stata <- import("ruta/al/archivo.dta")

Ejemplo 6: Importar datos desde un archivo RDS

datos_rds <- import("ruta/al/archivo.rds")

Nota: Asegúrate de tener los permisos necesarios para acceder a los archivos y que las rutas proporcionadas sean correctas.

Ejercicios propuestos

Pulsa en el siguiente enlace y realiza los ejercicios propuestos: https://7ckmfz-omar.shinyapps.io/Sesion1_OmarHuaco/#section-sesi%C3%B3n-1-tipos-de-objetos