knitr::opts_chunk$set(echo = TRUE) install.packages(“car”) install.packages(Rtools) install.packages(“DescTools”) install.packages(“readxl”) library(readxl) install.packages(“modeest”) install.packages(“readr”) chooseCRANmirror() install.packages(“readr”, repos = “https://cran.cnr.berkeley.edu/”) contrib.url(repos, “source”)

Aspectos Generales de R

1.1 ¿Qué es R y cuándo se podría implementar??

R es un lenguaje de programación gratuito y un entorno de software creado para analizar y visualizar datos. Fue desarrollado por Robert Gentleman y Ross Ihaka en la Universidad de Auckland, Nueva Zelanda. R se ha vuelto muy popular en la comunidad de ciencia de datos y estadística debido a que es muy flexible y tiene muchos paquetes que permiten hacer diferentes tipos de análisis.

1.1.1 ¿Cuándo se podría implementar?

R es muy versatil en la programación y en el análisis de datos numéricos por lo cual se puede implementar en cualquier investigación que requiera aplicar algún modelo estadístico o modelos de predicción.

1.2 ¿Cómo se crea y se manipula un objeto?

Para aquellos que realizan la programación en R mediante la IDE Rstudio se hace de la siguiente manera:

a). Ve al menú File y selecciona New File, luego elige R Script.

b). Aparecerá una ventana nueva donde puedes escribir tu código.

1.3 ¿Qué es un objeto en R?

En R, un objeto es una entidad que almacena datos y puede ser manipulada mediante funciones. Los objetos son fundamentales en R, ya que el lenguaje está basado en la manipulación de estos para realizar diversas operaciones de análisis de datos, modelado estadístico, y visualización.

1.4 ¿Tipos de objetos?

  • Vectores

  • Matrices

  • Listas

  • Data Frames

  • Factores

  • Arrays

  • Funciones

  • Factores Ordenados

  • Tibbles (de dplyr)

  • Environments

1.5 ¿Funciones de R studio?

  • Crear un vector: numeros <- c(1, 2, 3, 4, 5)

  • Crear una matriz: matriz <- matrix(1:9, nrow = 3, ncol = 3)

  • Crear un data frame: datos <- data.frame( nombre = c(“Ana”, “Luis”, “Pedro”), edad = c(23, 30, 25), altura = c(160, 175, 168))

  • Acceder a una columna de un data frame: datos$edad

  • Filtrar filas en un data frame: subset(datos, edad > 25)

  • Ordenar un data frame: datos_ordenados <- datos[order(datos$edad),]

  • Calcular la media: media <- mean(numeros)

  • Calcular la mediana: mediana <- median(numeros)

  • Calcular la desviación estándar: desviacion <- sd(numeros)

  • Resumen estadístico de un data frame: resumen <- summary(datos)

  • Realizar una prueba t de dos muestras: t_test <- t.test(datos\(edad, datos\)altura)

  • Crear un gráfico de dispersión: plot(datos\(edad, datos\)altura)

  • Crear un histograma: hist(datos$edad)

  • Crear un gráfico de barras: barplot(table(datos$nombre))

  • Usar ggplot2 para un gráfico de dispersión: library(ggplot2) ggplot(datos, aes(x = edad, y = altura)) + geom_point()

  • Manipulación Avanzada con dplyr library(dplyr)

  • Seleccionar columnas específicas: datos_seleccionados <- select(datos, nombre, edad)

  • Filtrar filas con condiciones: datos_filtrados <- filter(datos, edad > 25)

  • Agrupar y resumir datos: resumen_por_grupo <- datos %>% group_by(nombre) %>% summarise(media_edad = mean(edad))

  • Agregar nuevas columnas: datos <- mutate(datos, altura_cm = altura / 100)

  • Cargar el paquete tidyr: library(tidyr)

  • Convertir datos de ancho a largo (pivot_longer): datos_largos <- pivot_longer(datos, cols = c(edad, altura), names_to = “variable”, values_to = “valor”)

1.6 Operaciones lógicas y dar ejemplo de cada una

En R Studio, puedes realizar una variedad de operaciones lógicas para comparar valores y obtener resultados booleanos (`TRUE` o `FALSE`). Aquí tienes algunas de las operaciones lógicas más comunes, junto con ejemplos de cada una:

  1. Igualdad (‘==’): Comprueba si dos valores son iguales.

    • ‘5 == 5’ –> ‘TRUE’

    • ‘“todo” == “bien”’ –> ‘FALSE’

  2. Desigualdad (‘!=’): Comprueba si dos valores no son iguales.

    • ‘9 != 5’ –> ‘TRUE’

    • ‘9 != 9’ –> ‘FALSE’

  3. Mayor que (‘>’): Comprueba si un valor es mayor que otro.

    • ‘9 > 5’ –> ‘TRUE’

    • ‘5 > 9’ –> ‘FALSE’

  4. Mayor o igual que (‘>=’): Comprueba si un valor es mayor o igual que otro.

    • ‘9 >= 9’ –> ‘TRUE’

    • ‘5 >= 9’ –> ‘FALSE’

  5. Menor que (‘<’): Comprueba si un valor es menor que otro.

    • ‘5 < 9’ –> ‘TRUE’

    • ‘9 < 3’ –> ‘FALSE’

  6. Menor o igual que (‘<=’): Comprueba si un valor es menor o igual que otro.

    • ‘3 <= 5’ –> ‘TRUE’

    • ‘5 <= 3’ –> ‘FALSE’

  7. Operador de Y (‘&’ o ‘&&’): Comprueba si ambas condiciones son verdaderas.

    • ‘(9 > 5) & (9 < 15)’ –> ‘TRUE’
  8. Operador de O (‘|’ o ‘||’): Comprueba si al menos una de las condiciones es verdadera.

    • ‘(5 > 10) | (5 < 10)’ –> ‘TRUE’
  9. Operador de Negación (‘!’): Niega una condición.

    • ‘!(5 == 5)’ –> ‘FALSE’

1.7 Explicar cuáles son los Gráficos básicos, ventanas de R, personalizar, exportar.

Gráficos Básicos en R:

  1. Funciones Gráficas Básicas:

    • R incluye varias funciones básicas para crear gráficos, como plot(), hist(), barplot(), boxplot(), entre otros.

    • Estas funciones se utilizan para visualizar diferentes tipos de datos, como diagramas de dispersión, histogramas, gráficos de barras y diagramas de caja, respectivamente.

  2. Sintaxis Simple:

    • La sintaxis para crear gráficos básicos en R es simple. Simplemente se llama a la función gráfica deseada y se proporcionan los datos necesarios como argumentos.

Ventanas de Gráficos en R:

  1. Dispositivos Gráficos:

    • En R, los gráficos se muestran en dispositivos gráficos, que pueden ser ventanas gráficas interactivas o archivos de salida.

    • Las ventanas gráficas se abren automáticamente cuando se crea un gráfico utilizando una función gráfica en R.

  2. Ventanas Gráficas Interactivas:

    • Las ventanas gráficas interactivas permiten explorar gráficos de forma dinámica. Puedes hacer zoom, desplazarte, seleccionar y guardar partes del gráfico.

Personalización de Gráficos en R:

  1. Argumentos de Función:

    • Las funciones gráficas en R admiten una variedad de argumentos que permiten personalizar la apariencia del gráfico, como color, tamaño, etiquetas de ejes, leyendas, entre otros.
  2. Paleta de Colores:

    • R ofrece una amplia gama de paletas de colores predefinidas que se pueden utilizar para personalizar los colores en los gráficos.

Exportar Gráficos en R:

  1. Captura de Pantalla:

    • Puedes capturar una ventana gráfica como una imagen de pantalla utilizando herramientas de captura de pantalla integradas en tu sistema operativo.
  2. Guardar como Imagen:

    • R proporciona funciones para guardar gráficos como archivos de imagen en diferentes formatos, como PNG, JPEG, PDF, entre otros. Puedes usar funciones como png(), jpeg(), pdf(), y luego dev.off() para guardar el gráfico en un archivo.
  3. Integración con R Markdown y RStudio:

    • R Markdown y RStudio proporcionan facilidades para incrustar y exportar gráficos directamente desde documentos R Markdown, lo que facilita la creación de informes y documentos con gráficos incrustados.
# Crear un gráfico de dispersión simple
x <- 1:10
y <- x^2
plot(x, y, main = "Grafico de Dispersion", xlab = "Eje X", ylab = "Eje Y", col = "blue", pch = 16)

1.8 Explicar cómo se importa un archivo .csv, .xls y cargar una base de datos de cada una

  1. Importar un archivo .csv El formato .csv (valores separados por comas) es muy común para almacenar datos tabulares. En R, puedes usar la función read.csv() para importar archivos .csv.

  2. Importar un archivo .xls o .xlsx Para trabajar con archivos Excel (.xls o .xlsx), es común utilizar el paquete readxl. Primero necesitas instalar y cargar el paquete.

library(readr)
## Warning: package 'readr' was built under R version 4.3.3
data01 <- read.csv("C:/Users/smora/Desktop/men.csv", header=FALSE, comment.char="#")
  1. Para importar archivos de tipo xlsx
library(readxl)
## Warning: package 'readxl' was built under R version 4.3.3
data02 <- read_excel("C:/Users/smora/Desktop/men1.xlsx")

1.9 Ejemplo de 4 variables

# Variable numérica
numero <- 42

# Variable de caracteres
s <- c(2, 4, 5, 6, 7)

# Variable lógica
m <- c(2, 3, 4, 5, 6)

# Variable de vector
t <- c(1, 2, 3, 4, 5)

1.9 A partir de las tres variables creadas, formar un dataframe

data = data.frame(t,m,s)

1.10 Explicar cómo cargamos una base de datos: de una pagina web, de la bases de datos de R, o de qué otra forma se podría.

Puedes cargar datos directamente desde una URL utilizando funciones como:

url <- "https://raw.githubusercontent.com/fhernanb/datos/master/babies.txt"
data <- read.table(url, header = TRUE, sep = "\t")

Estadística Descriptiva

#la función "sapply" me relaciona a una serie de datos una función, es decir, que aplica la operación a la lista; y da como resultado un vector o matriz. 

# Media de cada variable
medias <- sapply(data, mean)
## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA

## Warning in mean.default(X[[i]], ...): argument is not numeric or logical:
## returning NA
# Moda de cada variable (si aplica)

# Desviación estándar de cada variable
desviaciones <- sapply(data, sd)
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introducidos por coerción
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introducidos por coerción
# Mostrar los resultados
print("Medias:")
## [1] "Medias:"
print(medias)
##       bwt gestation    parity       age    height    weight     smoke 
##  119.5769        NA        NA        NA        NA        NA        NA
print("Desviaciones Estándar:")
## [1] "Desviaciones Estándar:"
print(desviaciones)
##       bwt gestation    parity       age    height    weight     smoke 
##  18.23645        NA        NA        NA        NA        NA        NA

Hallar un resumen de las medidas de tendencia central

#Para esto usamos summary

mtc=summary(data)
print("Medidas de Summary:")
## [1] "Medidas de Summary:"
print(mtc)
##       bwt          gestation        parity               age       
##  Min.   : 55.0   Min.   :148.0   Length:1236        Min.   :15.00  
##  1st Qu.:108.8   1st Qu.:272.0   Class :character   1st Qu.:23.00  
##  Median :120.0   Median :280.0   Mode  :character   Median :26.00  
##  Mean   :119.6   Mean   :279.3                      Mean   :27.26  
##  3rd Qu.:131.0   3rd Qu.:288.0                      3rd Qu.:31.00  
##  Max.   :176.0   Max.   :353.0                      Max.   :45.00  
##                  NA's   :13                         NA's   :2      
##      height          weight         smoke          
##  Min.   :53.00   Min.   : 87.0   Length:1236       
##  1st Qu.:62.00   1st Qu.:114.8   Class :character  
##  Median :64.00   Median :125.0   Mode  :character  
##  Mean   :64.05   Mean   :128.6                     
##  3rd Qu.:66.00   3rd Qu.:139.0                     
##  Max.   :72.00   Max.   :250.0                     
##  NA's   :22      NA's   :36