La estadística descriptiva se utiliza para resumir y describir las características de un conjunto de datos. Las medidas de tendencia central (media, mediana, moda) describen el centro de los datos, mientras que las medidas de dispersión (rango, varianza, desviación estándar) indican cómo se distribuyen los datos alrededor de ese centro. Estas medidas son fundamentales para entender la distribución y variabilidad de los datos.
Código:
# Cargar un data frame de ejemplo
datos <- data.frame(
valores = c(10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
)
# Medidas de tendencia central
media <- mean(datos$valores) # Media
mediana <- median(datos$valores) # Mediana
moda <- as.numeric(names(sort(table(datos$valores), decreasing=TRUE))[1]) # Moda
# Medidas de dispersión
rango <- range(datos$valores) # Rango
varianza <- var(datos$valores) # Varianza
desviacion_estandar <- sd(datos$valores) # Desviación estándar
# Resultados
resultado <- data.frame(
Media = media,
Mediana = mediana,
Moda = moda,
Rango_Min = rango[1],
Rango_Max = rango[2],
Varianza = varianza,
Desviacion_Estandar = desviacion_estandar
)
print(resultado)
Explicación del código:
Medidas de Tendencia Central:
mean()
. En el código, mean(datos$valores)
devuelve la media de la columna valores
.median()
. En el código, median(datos$valores)
devuelve la mediana de la columna valores
.table()
para contar las frecuencias y sort()
para ordenar las frecuencias en orden descendente. as.numeric(names(sort(table(datos$valores), decreasing=TRUE))[1])
devuelve la moda de la columna valores
.Medidas de Dispersión:
range()
. En el código, range(datos$valores)
devuelve un vector con los valores mínimo y máximo de la columna valores
.var()
. En el código, var(datos$valores)
devuelve la varianza de la columna valores
.sd()
. En el código, sd(datos$valores)
devuelve la desviación estándar de la columna valores
.Resultados:
resultado
que resume todas las medidas calculadas. Cada columna del data frame corresponde a una medida estadística (Media, Mediana, Moda, Rango Mínimo, Rango Máximo, Varianza, Desviación Estándar).print(resultado)
imprime el data frame resultado
con las medidas calculadas.Estas medidas de estadística descriptiva te permiten tener una comprensión clara de la distribución y variabilidad de tus datos.
Las pruebas de hipótesis son herramientas estadísticas que permiten tomar decisiones basadas en datos muestrales. Dos pruebas comunes son la prueba t y el análisis de varianza (ANOVA). La prueba t se utiliza para comparar las medias de dos grupos, mientras que ANOVA se utiliza para comparar las medias de tres o más grupos. Ambas pruebas ayudan a determinar si existen diferencias significativas entre las medias de los grupos.
Código:
# Cargar paquetes necesarios
library(ggplot2)
# Datos de ejemplo
set.seed(123)
grupo_A <- rnorm(30, mean = 5, sd = 1)
grupo_B <- rnorm(30, mean = 6, sd = 1)
# Data frame para ANOVA
datos_anova <- data.frame(
valores = c(grupo_A, grupo_B),
grupo = rep(c("A", "B"), each = 30)
)
# Prueba t: comparar medias de dos grupos
prueba_t <- t.test(grupo_A, grupo_B, var.equal = TRUE)
# ANOVA: comparar medias de tres o más grupos
anova_resultado <- aov(valores ~ grupo, data = datos_anova)
# Resumen de resultados
resultado_t <- data.frame(
Prueba = "t-test",
Estadístico_t = prueba_t$statistic,
p_valor = prueba_t$p.value
)
resultado_anova <- data.frame(
Prueba = "ANOVA",
Estadístico_F = summary(anova_resultado)[[1]][["F value"]][1],
p_valor = summary(anova_resultado)[[1]][["Pr(>F)"]][1]
)
resultados <- rbind(resultado_t, resultado_anova)
print(resultados)
Explicación del código:
Datos de Ejemplo:
grupo_A
y grupo_B
utilizando la función rnorm()
, que genera números aleatorios con una distribución normal. grupo_A
tiene una media de 5 y una desviación estándar de 1, mientras que grupo_B
tiene una media de 6 y una desviación estándar de 1.Prueba t:
t.test()
, que compara las medias de los dos grupos. El argumento var.equal = TRUE
asume que las varianzas de los dos grupos son iguales. El resultado de la prueba t se almacena en prueba_t
, y el estadístico t y el valor p se extraen y almacenan en resultado_t
.ANOVA:
datos_anova
que contiene los valores de ambos grupos y una columna grupo
que indica a qué grupo pertenece cada valor.aov()
, que analiza la variancia de los datos agrupados por grupo
. El resultado de la ANOVA se almacena en anova_resultado
, y el estadístico F y el valor p se extraen y almacenan en resultado_anova
.Resumen de Resultados:
resultados
utilizando rbind()
.print(resultados)
imprime el data frame con los resultados de ambas pruebas, mostrando los estadísticos y valores p correspondientes.La regresión es una técnica estadística utilizada para modelar y analizar las relaciones entre variables. La regresión lineal simple se utiliza para modelar la relación entre una variable dependiente y una variable independiente. La regresión múltiple extiende este concepto a múltiples variables independientes. Ambas técnicas permiten hacer predicciones y evaluar el impacto de las variables independientes sobre la variable dependiente.
Código:
# Cargar el paquete ggplot2 para visualización
library(ggplot2)
# Crear un data frame de ejemplo
set.seed(123)
datos <- data.frame(
x1 = rnorm(100, mean = 50, sd = 10),
x2 = rnorm(100, mean = 30, sd = 5),
y = rnorm(100, mean = 10, sd = 2)
)
datos$y <- 3 + 0.5 * datos$x1 + 0.3 * datos$x2 + rnorm(100)
# Regresión lineal simple
modelo_lineal_simple <- lm(y ~ x1, data = datos)
resumen_lineal_simple <- summary(modelo_lineal_simple)
# Regresión lineal múltiple
modelo_lineal_multiple <- lm(y ~ x1 + x2, data = datos)
resumen_lineal_multiple <- summary(modelo_lineal_multiple)
# Visualización de la regresión lineal simple
ggplot(datos, aes(x = x1, y = y)) +
geom_point() +
geom_smooth(method = "lm", col = "red") +
labs(title = "Regresión Lineal Simple", x = "x1", y = "y")
# Resultados de los modelos
resultados <- data.frame(
Modelo = c("Lineal Simple", "Lineal Múltiple"),
R2 = c(resumen_lineal_simple$r.squared, resumen_lineal_multiple$r.squared),
p_valor = c(resumen_lineal_simple$coefficients[2, 4], resumen_lineal_multiple$coefficients[2, 4])
)
print(resultados)
Explicación del código:
Creación de Datos:
datos
con 100 observaciones y tres variables: x1
, x2
y y
. x1
y x2
son generadas usando rnorm()
para simular datos normalmente distribuidos.y
se genera como una combinación lineal de x1
y x2
con algunos errores aleatorios para simular la relación entre las variables.Regresión Lineal Simple:
lm(y ~ x1, data = datos)
, donde y
es la variable dependiente y x1
es la variable independiente.summary(modelo_lineal_simple)
) proporciona detalles como el coeficiente de determinación (R²), los coeficientes de la regresión y sus significancias.Regresión Lineal Múltiple:
lm(y ~ x1 + x2, data = datos)
, donde y
es la variable dependiente y x1
y x2
son las variables independientes.summary(modelo_lineal_multiple)
) proporciona detalles similares al modelo simple pero con múltiples predictores.Visualización:
ggplot2
. geom_point()
agrega puntos de dispersión, y geom_smooth(method = "lm", col = "red")
agrega la línea de regresión ajustada.labs(title = "Regresión Lineal Simple", x = "x1", y = "y")
establece el título y las etiquetas de los ejes.Resultados:
resultados
, incluyendo el coeficiente de determinación (R²) y los valores p de los coeficientes de x1
en ambos modelos.print(resultados)
imprime el data frame con los resultados, proporcionando una comparación entre los modelos de regresión lineal simple y múltiple.