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”)
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.
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.
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.
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.
Vectores
Matrices
Listas
Data Frames
Factores
Arrays
Funciones
Factores Ordenados
Tibbles (de dplyr)
Environments
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”)
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:
Igualdad (‘==’): Comprueba si dos valores son iguales.
‘5 == 5’ –> ‘TRUE’
‘“todo” == “bien”’ –> ‘FALSE’
Desigualdad (‘!=’): Comprueba si dos valores no son iguales.
‘9 != 5’ –> ‘TRUE’
‘9 != 9’ –> ‘FALSE’
Mayor que (‘>’): Comprueba si un valor es mayor que otro.
‘9 > 5’ –> ‘TRUE’
‘5 > 9’ –> ‘FALSE’
Mayor o igual que (‘>=’): Comprueba si un valor es mayor o igual que otro.
‘9 >= 9’ –> ‘TRUE’
‘5 >= 9’ –> ‘FALSE’
Menor que (‘<’): Comprueba si un valor es menor que otro.
‘5 < 9’ –> ‘TRUE’
‘9 < 3’ –> ‘FALSE’
Menor o igual que (‘<=’): Comprueba si un valor es menor o igual que otro.
‘3 <= 5’ –> ‘TRUE’
‘5 <= 3’ –> ‘FALSE’
Operador de Y (‘&’ o ‘&&’): Comprueba si ambas condiciones son verdaderas.
Operador de O (‘|’ o ‘||’): Comprueba si al menos una de las condiciones es verdadera.
Operador de Negación (‘!’): Niega una condición.
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.
Sintaxis Simple:
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.
Ventanas Gráficas Interactivas:
Argumentos de Función:
Paleta de Colores:
Captura de Pantalla:
Guardar como Imagen:
png(),
jpeg(),
pdf(), y luego
dev.off() para guardar el gráfico en un
archivo.Integración con R Markdown y RStudio:
# 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)
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.
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="#")
library(readxl)
## Warning: package 'readxl' was built under R version 4.3.3
data02 <- read_excel("C:/Users/smora/Desktop/men1.xlsx")
# 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)
data = data.frame(t,m,s)
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")
#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
#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