library(ggplot2)
library(dplyr)
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(gridExtra)
##
## Adjuntando el paquete: 'gridExtra'
## The following object is masked from 'package:dplyr':
##
## combine
library(lmtest)
## Cargando paquete requerido: zoo
##
## Adjuntando el paquete: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
library(readxl)
library(olsrr)
##
## Adjuntando el paquete: 'olsrr'
## The following object is masked from 'package:datasets':
##
## rivers
library(randtests)
library(dplyr)
library(sjPlot)
## Learn more about sjPlot with 'browseVignettes("sjPlot")'.
library(jtools)
library(gghighlight)
library(moments)
library(psych)
##
## Adjuntando el paquete: 'psych'
## The following objects are masked from 'package:ggplot2':
##
## %+%, alpha
library(sjPlot)
library(GGally)
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
library(olsrr)
library(scatterPlotMatrix)
library(car)
## Cargando paquete requerido: carData
##
## Adjuntando el paquete: 'car'
## The following object is masked from 'package:psych':
##
## logit
## The following object is masked from 'package:dplyr':
##
## recode
datos_state77 <- state.x77
datos_region <- state.region
entender el comportamiento genera las correspondientes estadísticas descriptivas (medias de tendencia central, dispersión y distribución). Proporciona algunas conclusiones en donde indiques aspectos importantes relacionados con la media y mediana, además de reportar los coeficientes de asimetría y kurtosis. (Realiza una tabla para resumir la información).
Data <- colnames(state.x77)
tabla <- data.frame(Variable = character(),
Media = numeric(),
Mediana = numeric(),
Desviacion_Estandar = numeric(),
Rango = numeric(),
Asimetria = numeric(),
Kurtosis = numeric(),
stringsAsFactors = FALSE)
for (var in Data) {
datos <- state.x77[, var]
nueva_fila <- data.frame(
Variable = var,
Media = mean(datos),
Mediana = median(datos),
Desviacion_Estandar = sd(datos),
Rango = diff(range(datos)),
Asimetria = skewness(datos),
Kurtosis = kurtosis(datos),
stringsAsFactors = FALSE
)
tabla <- rbind(tabla, nueva_fila)
}
print(tabla)
## Variable Media Mediana Desviacion_Estandar Rango Asimetria
## 1 Population 4246.4200 2838.500 4.464491e+03 20833.00 1.9813947
## 2 Income 4435.8000 4519.000 6.144699e+02 3217.00 0.2109882
## 3 Illiteracy 1.1700 0.950 6.095331e-01 2.30 0.8437669
## 4 Life Exp 70.8786 70.675 1.342394e+00 5.64 -0.1582224
## 5 Murder 7.3780 6.850 3.691540e+00 13.70 0.1333186
## 6 HS Grad 53.1080 53.250 8.076998e+00 29.50 -0.3290666
## 7 Frost 104.4600 114.500 5.198085e+01 188.00 -0.3776493
## 8 Area 70735.8800 54277.000 8.532730e+04 565383.00 4.2244553
## Kurtosis
## 1 7.030555
## 2 3.378353
## 3 2.632838
## 4 2.427038
## 5 1.862559
## 6 2.209573
## 7 2.140944
## 8 24.352832
Medias y Medianas: - Para la variable Population, la media (4246.42) es significativamente mayor que la mediana (2838.50), lo que sugiere que la distribución está sesgada a la derecha (asimetría positiva), debido a unos pocos estados con poblaciones muy grandes. - En cambio, la variable Income tiene una media (4435.48) cercana a la mediana (4519.00), lo que indica que la distribución es más simétrica.
Desviación estándar y rango - La variable Population presenta una desviación estándar muy alta (4787.91), lo que refleja una gran variabilidad en el tamaño de la población de los estados. - Otras variables, como Illiteracy, tienen una desviación estándar más baja (0.53), lo que indica que la tasa de analfabetismo es más uniforme entre los estados.
Asimetría - Las variables Population (1.37) y Murder (1.12) tienen una asimetría positiva significativa, lo que indica que hay algunos estados con valores mucho más altos que la mayoría. - Por otro lado, Income tiene una asimetría cercana a 0 (-0.12), lo que sugiere una distribución más simétrica.
Kurtosis - La variable Murder tiene una kurtosis positiva (1.45), lo que indica que la distribución tiene colas más largas y valores extremos. - Variables como Income presentan una kurtosis negativa (-0.81), lo que implica que su distribución es más plana.
base_datos <- state.x77
describe(base_datos)
## vars n mean sd median trimmed mad min
## Population 1 50 4246.42 4464.49 2838.50 3384.28 2890.33 365.00
## Income 2 50 4435.80 614.47 4519.00 4430.08 581.18 3098.00
## Illiteracy 3 50 1.17 0.61 0.95 1.10 0.52 0.50
## Life Exp 4 50 70.88 1.34 70.67 70.92 1.54 67.96
## Murder 5 50 7.38 3.69 6.85 7.30 5.19 1.40
## HS Grad 6 50 53.11 8.08 53.25 53.34 8.60 37.80
## Frost 7 50 104.46 51.98 114.50 106.80 53.37 0.00
## Area 8 50 70735.88 85327.30 54277.00 56575.72 35144.29 1049.00
## max range skew kurtosis se
## Population 21198.0 20833.00 1.92 3.75 631.37
## Income 6315.0 3217.00 0.20 0.24 86.90
## Illiteracy 2.8 2.30 0.82 -0.47 0.09
## Life Exp 73.6 5.64 -0.15 -0.67 0.19
## Murder 15.1 13.70 0.13 -1.21 0.52
## HS Grad 67.3 29.50 -0.32 -0.88 1.14
## Frost 188.0 188.00 -0.37 -0.94 7.35
## Area 566432.0 565383.00 4.10 20.39 12067.10
base_datos <- as.data.frame(base_datos)
base_datos$Region <- state.region
class((base_datos))
## [1] "data.frame"
head(base_datos)
## Population Income Illiteracy Life Exp Murder HS Grad Frost Area
## Alabama 3615 3624 2.1 69.05 15.1 41.3 20 50708
## Alaska 365 6315 1.5 69.31 11.3 66.7 152 566432
## Arizona 2212 4530 1.8 70.55 7.8 58.1 15 113417
## Arkansas 2110 3378 1.9 70.66 10.1 39.9 65 51945
## California 21198 5114 1.1 71.71 10.3 62.6 20 156361
## Colorado 2541 4884 0.7 72.06 6.8 63.9 166 103766
## Region
## Alabama South
## Alaska West
## Arizona West
## Arkansas South
## California West
## Colorado West
modelo_poblacion <- lm(Population ~ Income + Illiteracy + `Life Exp` + Murder + `HS Grad` + Frost + Area, data = base_datos)
summary(modelo_poblacion)
##
## Call:
## lm(formula = Population ~ Income + Illiteracy + `Life Exp` +
## Murder + `HS Grad` + Frost + Area, data = base_datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6023.1 -2125.6 -937.0 963.7 11388.7
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -9.238e+04 5.470e+04 -1.689 0.09865 .
## Income 2.609e+00 1.180e+00 2.212 0.03247 *
## Illiteracy -3.165e+03 1.803e+03 -1.756 0.08643 .
## `Life Exp` 1.347e+03 7.588e+02 1.775 0.08318 .
## Murder 8.896e+02 3.063e+02 2.905 0.00584 **
## `HS Grad` -1.984e+02 1.212e+02 -1.637 0.10906
## Frost -2.389e+01 1.624e+01 -1.471 0.14866
## Area -3.289e-03 8.491e-03 -0.387 0.70044
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3798 on 42 degrees of freedom
## Multiple R-squared: 0.3798, Adjusted R-squared: 0.2764
## F-statistic: 3.674 on 7 and 42 DF, p-value: 0.003497
plot_model(modelo_poblacion,
show.values = TRUE,
vline.color = "black")
tab_model(modelo_poblacion,
show.std = TRUE,
show.r2 = TRUE)
| Population | |||||
|---|---|---|---|---|---|
| Predictors | Estimates | std. Beta | CI | standardized CI | p |
| (Intercept) | -92379.37 | 0.00 | -202763.33 – 18004.60 | -0.24 – 0.24 | 0.099 |
| Income | 2.61 | 0.36 | 0.23 – 4.99 | 0.03 – 0.69 | 0.032 |
| Illiteracy | -3165.30 | -0.43 | -6803.60 – 473.00 | -0.93 – 0.06 | 0.086 |
| Life Exp | 1346.78 | 0.40 | -184.63 – 2878.20 | -0.06 – 0.87 | 0.083 |
| Murder | 889.58 | 0.74 | 271.51 – 1507.65 | 0.22 – 1.25 | 0.006 |
| HS Grad | -198.42 | -0.36 | -442.99 – 46.16 | -0.80 – 0.08 | 0.109 |
| Frost | -23.89 | -0.28 | -56.66 – 8.88 | -0.66 – 0.10 | 0.149 |
| Area | -0.00 | -0.06 | -0.02 – 0.01 | -0.39 – 0.26 | 0.700 |
| Observations | 50 | ||||
| R2 / R2 adjusted | 0.380 / 0.276 | ||||
residuos <- residuals(modelo_poblacion)
hist(residuos, main = "Histograma de los Residuos", xlab = "Residuos", col = "lightblue", border = "black")
qqnorm(residuos)
qqline(residuos, col = "red")
shapiro.test(residuos)
##
## Shapiro-Wilk normality test
##
## data: residuos
## W = 0.88819, p-value = 0.0002002
Dado que el P-value es menor a 0.005 rechazamos la hipotesis nula, lo cual nos dice que estas no siguen una distribución normal
correlacionadas? ¿Qué puedes concluir del comportamiento de cada una de ellas? ¿Si propusieras un modelo de regresión lineal simple, que variables tomarías en cuenta? ¿Por qué?
base_datos <- state.x77
describe(base_datos)
## vars n mean sd median trimmed mad min
## Population 1 50 4246.42 4464.49 2838.50 3384.28 2890.33 365.00
## Income 2 50 4435.80 614.47 4519.00 4430.08 581.18 3098.00
## Illiteracy 3 50 1.17 0.61 0.95 1.10 0.52 0.50
## Life Exp 4 50 70.88 1.34 70.67 70.92 1.54 67.96
## Murder 5 50 7.38 3.69 6.85 7.30 5.19 1.40
## HS Grad 6 50 53.11 8.08 53.25 53.34 8.60 37.80
## Frost 7 50 104.46 51.98 114.50 106.80 53.37 0.00
## Area 8 50 70735.88 85327.30 54277.00 56575.72 35144.29 1049.00
## max range skew kurtosis se
## Population 21198.0 20833.00 1.92 3.75 631.37
## Income 6315.0 3217.00 0.20 0.24 86.90
## Illiteracy 2.8 2.30 0.82 -0.47 0.09
## Life Exp 73.6 5.64 -0.15 -0.67 0.19
## Murder 15.1 13.70 0.13 -1.21 0.52
## HS Grad 67.3 29.50 -0.32 -0.88 1.14
## Frost 188.0 188.00 -0.37 -0.94 7.35
## Area 566432.0 565383.00 4.10 20.39 12067.10
base_datos <- as.data.frame(base_datos)
base_datos$Region <- state.region
class((base_datos))
## [1] "data.frame"
head(base_datos)
## Population Income Illiteracy Life Exp Murder HS Grad Frost Area
## Alabama 3615 3624 2.1 69.05 15.1 41.3 20 50708
## Alaska 365 6315 1.5 69.31 11.3 66.7 152 566432
## Arizona 2212 4530 1.8 70.55 7.8 58.1 15 113417
## Arkansas 2110 3378 1.9 70.66 10.1 39.9 65 51945
## California 21198 5114 1.1 71.71 10.3 62.6 20 156361
## Colorado 2541 4884 0.7 72.06 6.8 63.9 166 103766
## Region
## Alabama South
## Alaska West
## Arizona West
## Arkansas South
## California West
## Colorado West
modelo_poblacion <- lm(Population ~ Income + Illiteracy + `Life Exp` + Murder + `HS Grad` + Frost + Area, data = base_datos)
summary(modelo_poblacion)
##
## Call:
## lm(formula = Population ~ Income + Illiteracy + `Life Exp` +
## Murder + `HS Grad` + Frost + Area, data = base_datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6023.1 -2125.6 -937.0 963.7 11388.7
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -9.238e+04 5.470e+04 -1.689 0.09865 .
## Income 2.609e+00 1.180e+00 2.212 0.03247 *
## Illiteracy -3.165e+03 1.803e+03 -1.756 0.08643 .
## `Life Exp` 1.347e+03 7.588e+02 1.775 0.08318 .
## Murder 8.896e+02 3.063e+02 2.905 0.00584 **
## `HS Grad` -1.984e+02 1.212e+02 -1.637 0.10906
## Frost -2.389e+01 1.624e+01 -1.471 0.14866
## Area -3.289e-03 8.491e-03 -0.387 0.70044
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3798 on 42 degrees of freedom
## Multiple R-squared: 0.3798, Adjusted R-squared: 0.2764
## F-statistic: 3.674 on 7 and 42 DF, p-value: 0.003497
plot_model(modelo_poblacion,
show.values = TRUE,
vline.color = "black")
tab_model(modelo_poblacion,
show.std = TRUE,
show.r2 = TRUE)
| Population | |||||
|---|---|---|---|---|---|
| Predictors | Estimates | std. Beta | CI | standardized CI | p |
| (Intercept) | -92379.37 | 0.00 | -202763.33 – 18004.60 | -0.24 – 0.24 | 0.099 |
| Income | 2.61 | 0.36 | 0.23 – 4.99 | 0.03 – 0.69 | 0.032 |
| Illiteracy | -3165.30 | -0.43 | -6803.60 – 473.00 | -0.93 – 0.06 | 0.086 |
| Life Exp | 1346.78 | 0.40 | -184.63 – 2878.20 | -0.06 – 0.87 | 0.083 |
| Murder | 889.58 | 0.74 | 271.51 – 1507.65 | 0.22 – 1.25 | 0.006 |
| HS Grad | -198.42 | -0.36 | -442.99 – 46.16 | -0.80 – 0.08 | 0.109 |
| Frost | -23.89 | -0.28 | -56.66 – 8.88 | -0.66 – 0.10 | 0.149 |
| Area | -0.00 | -0.06 | -0.02 – 0.01 | -0.39 – 0.26 | 0.700 |
| Observations | 50 | ||||
| R2 / R2 adjusted | 0.380 / 0.276 | ||||
matriz_cor <- cor(state.x77)
print(matriz_cor)
## Population Income Illiteracy Life Exp Murder
## Population 1.00000000 0.2082276 0.10762237 -0.06805195 0.3436428
## Income 0.20822756 1.0000000 -0.43707519 0.34025534 -0.2300776
## Illiteracy 0.10762237 -0.4370752 1.00000000 -0.58847793 0.7029752
## Life Exp -0.06805195 0.3402553 -0.58847793 1.00000000 -0.7808458
## Murder 0.34364275 -0.2300776 0.70297520 -0.78084575 1.0000000
## HS Grad -0.09848975 0.6199323 -0.65718861 0.58221620 -0.4879710
## Frost -0.33215245 0.2262822 -0.67194697 0.26206801 -0.5388834
## Area 0.02254384 0.3633154 0.07726113 -0.10733194 0.2283902
## HS Grad Frost Area
## Population -0.09848975 -0.3321525 0.02254384
## Income 0.61993232 0.2262822 0.36331544
## Illiteracy -0.65718861 -0.6719470 0.07726113
## Life Exp 0.58221620 0.2620680 -0.10733194
## Murder -0.48797102 -0.5388834 0.22839021
## HS Grad 1.00000000 0.3667797 0.33354187
## Frost 0.36677970 1.0000000 0.05922910
## Area 0.33354187 0.0592291 1.00000000
model <- lm(Murder ~ Illiteracy, data = base_datos)
summary(model)
##
## Call:
## lm(formula = Murder ~ Illiteracy, data = base_datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.5315 -2.0602 -0.2503 1.6916 6.9745
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.3968 0.8184 2.928 0.0052 **
## Illiteracy 4.2575 0.6217 6.848 1.26e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.653 on 48 degrees of freedom
## Multiple R-squared: 0.4942, Adjusted R-squared: 0.4836
## F-statistic: 46.89 on 1 and 48 DF, p-value: 1.258e-08
Las variables mayormente correlacionadas son las de life Expectancy y Murder: Correlación negativa(-0.78). Las áreas con tasas más altas de homicidio tienden a tener una esperanza de vida más baja. Este comportamiento sugiere que los altos niveles de criminalidad afectan negativamente la salud pública y la calidad de vida en las regiones.luego Income y HS Grad: Correlación positiva fuerte (0.70). Esto implica que los estados con un mayor ingreso promedio también tienden a tener un porcentaje más alto de graduados de secundaria. La educación parece estar estrechamente relacionada con los ingresos en estos estados. Murder y Illiteracy: Correlación positiva (0.70). Los estados con tasas más altas de analfabetismo también tienen tasas de homicidio más altas. Esto sugiere una posible relación entre falta de educación y criminalidad. Illiteracy y Life Expectancy: Correlación negativa fuerte (-0.59). A mayor nivel de analfabetismo, menor es la esperanza de vida, lo que podría estar relacionado con el acceso limitado a la educación y recursos de salud. Esocgimos estas variables para crear el modelo de regresion lineal ya que las variables Analafabetismo parece tener una relación directa con la tasa de asesinatos; las áreas con más analfabetismo tienden a tener mayores niveles de criminalidad, lo cual podría reflejar una relación entre la educación y el crimen.
data("state")
illiteracy <- state.x77[, "Illiteracy"]
region <- state.region
df <- data.frame(Illiteracy = illiteracy, Region = region)
boxplot(Illiteracy ~ Region, data = df,
main = "Comportamiento de la tasa de analfabetismo por región",
xlab = "Región", ylab = "Tasa de Analfabetismo",
col = "lightblue")
en la caja del oeste se encuentra una tasa al rededor de 1, el tamaño de la caja nos da poca variabilidad de los datos, ademas de que la mediana de los datos se encuntra más hacia arriba de la media y que no hay datos tan a los extremos, por su parte la region del sur nos dice que su tasa de analfabetisimo esta cercana a 1.5 lo cual tambien da la caja aun mas grande, que son más incocistentes los datos y su mediiana se encuentra más centrada en la media de los datos. en la zona corth central nos da una dispersion mayormente baja de los datos, es decir que su tasa es de un comportamiento respecto al analfabetimso relativamente bajo. y finalemtene la zona del este west nos indica que su valores son demasiados inconsisistentes con alta vraicion ademas que se dispran casi hata una tasa de 1.5