El presente trabajo tiene como finalidad realizar un analisis estadistico para la base de datos multivariada Boston la cual contiene 506 observaciones sobre el valor de las viviendas en los suburbios de Boston, incluida en el paquete MASS de R, esta base de datos proviene de un estudio realizado por el Departamento de Economía de la Universidad de Harvard y la US Census Bureau en 1978.
Se emplearan herramientas de estadistica descriptiva multivariada como:
Es necesario activar los paquetes MASS, knitr, openxlsx2 y dplyr.
library(MASS)
library(dplyr)
library(knitr)
library(openxlsx2)
Se presenta a continuación la base de datos Boston con una seleccion de 64 datos bajo la semilla 8689.
#Asignar la base de datos Boston
datos <- Boston
#Sembrar una semilla
set.seed(8689)
#Realizar una particion de 64 datos
Boston.64 <- slice_sample(datos, n=64)
kable(head(Boston.64), format = "markdown")
crim | zn | indus | chas | nox | rm | age | dis | rad | tax | ptratio | black | lstat | medv |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0.55007 | 20 | 3.97 | 0 | 0.647 | 7.206 | 91.6 | 1.9301 | 5 | 264 | 13.0 | 387.89 | 8.10 | 36.5 |
3.32105 | 0 | 19.58 | 1 | 0.871 | 5.403 | 100.0 | 1.3216 | 5 | 403 | 14.7 | 396.90 | 26.82 | 13.4 |
22.59710 | 0 | 18.10 | 0 | 0.700 | 5.000 | 89.5 | 1.5184 | 24 | 666 | 20.2 | 396.90 | 31.99 | 7.4 |
0.08447 | 0 | 4.05 | 0 | 0.510 | 5.859 | 68.7 | 2.7019 | 5 | 296 | 16.6 | 393.23 | 9.64 | 22.6 |
0.07165 | 0 | 25.65 | 0 | 0.581 | 6.004 | 84.1 | 2.1974 | 2 | 188 | 19.1 | 377.67 | 14.27 | 20.3 |
0.72580 | 0 | 8.14 | 0 | 0.538 | 5.727 | 69.5 | 3.7965 | 4 | 307 | 21.0 | 390.95 | 11.28 | 18.2 |
Así, con la particion de 64 datos aleatorios se decidio trabajar con las variables:
Boston.64_Clean <- Boston.64[,c(1,7,9,11,13)]
kable(head(Boston.64_Clean), format = "markdown")
crim | age | rad | ptratio | lstat |
---|---|---|---|---|
0.55007 | 91.6 | 5 | 13.0 | 8.10 |
3.32105 | 100.0 | 5 | 14.7 | 26.82 |
22.59710 | 89.5 | 24 | 20.2 | 31.99 |
0.08447 | 68.7 | 5 | 16.6 | 9.64 |
0.07165 | 84.1 | 2 | 19.1 | 14.27 |
0.72580 | 69.5 | 4 | 21.0 | 11.28 |
Para estimar los estadisticos multivariados, se debe verificar que la base de datos es un DataFrame y si existen datos NA, para omitirlos.
is.data.frame(Boston.64_Clean)
## [1] TRUE
anyNA(Boston.64_Clean)
## [1] FALSE
Al verificar que la base de datos es un dataframe y que no existen NAs en la misma, se puede proceder al estimar los estadisticos.
write_xlsx(x=Boston.64_Clean, file="Base de Datos Boston.64_Clean.xlsx")
El vector de medias, es una medida de tendencia que proporciona información de la media de cada variable en la base de datos. Para la muestra de esta base de datos, el vector de medias esta determiando por:
vec_med_Boston <- round(colMeans(Boston.64_Clean),3)
vec_med_Boston
## crim age rad ptratio lstat
## 3.382 67.080 8.938 18.439 13.074
La matriz de varianza
var_Boston <- round(var(Boston.64_Clean),3)
var_Boston
## crim age rad ptratio lstat
## crim 64.184 81.774 47.176 5.331 39.858
## age 81.774 839.958 93.861 14.047 159.563
## rad 47.176 93.861 72.409 8.318 34.580
## ptratio 5.331 14.047 8.318 5.938 7.083
## lstat 39.858 159.563 34.580 7.083 64.922
La matriz de Correlación es
cor_Boston <- round(cor(Boston.64_Clean),3)
cor_Boston
## crim age rad ptratio lstat
## crim 1.000 0.352 0.692 0.273 0.617
## age 0.352 1.000 0.381 0.199 0.683
## rad 0.692 0.381 1.000 0.401 0.504
## ptratio 0.273 0.199 0.401 1.000 0.361
## lstat 0.617 0.683 0.504 0.361 1.000
La varianza generalizada
varg_Boston <- det(var_Boston)
varg_Boston
## [1] 192260297
Y la desviación estandar generalizada
sqrt(varg_Boston)
## [1] 13865.8
# Instalar y cargar ggplot2
if(!require(ggplot2)) install.packages("ggplot2")
library(ggplot2)
# Gráfico de pares (matriz de dispersión)
pairs(Boston.64_Clean, col = "brown")
# Gráfico de dispersión específico: crim vs rad
plot(x = Boston.64_Clean$crim, y = Boston.64_Clean$rad, col = "#C2B280",
xlab = "Crim", ylab = "Rad",
main = "Gráfico de Dispersión: Crim vs Rad")
#Resumen estadístico de Boston.64_Clean
resumen1 <- summary(Boston.64_Clean)