Visualizaciones con R

Para este trabajo decidí utilizar el dataset con el que estamos trabajando para nuestra TFM, esto con la intención de aprovechar y empezar a explorar visualmente los datos con los que contamos e ir informándonos respecto a las acciones que tendremos que llevar a cabo.

El dataset contiene información sobre propiedades en venta en el estado de Washington, las variables son Tamaño, precio, número de recámaras, número de baños, ciudad y código postal.

# Instalamos y cargamos la biblioteca necesaria
install.packages("ggplot2")  # Instalamos ggplot2
## 
## The downloaded binary packages are in
##  /var/folders/2k/8vjdyfpd71z_dq30s9syd_4m0000gn/T//Rtmpraou9C/downloaded_packages
library(ggplot2)  # Cargamos la biblioteca ggplot2 para visualización de datos
## Warning: package 'ggplot2' was built under R version 4.3.2
# Leemos el data set
data <- read.csv("/Users/macbookair/Downloads/dataset_limpio (3).csv")  

Urge normalizar

A continuación se ven un gráfico de dispersión con regresión lineal y un histograma, ambos nos dan a entender que hay algunos outliers que tal vez tendremos que eliminar porque nos están creando mucho ruido en los datos y hacen que las visualizaciones no se vean bien.

# Creamos un scatter plot con regresión lineal
scatter_plot <- ggplot(data, aes(x = Size, y = Price)) + 
                geom_point() + geom_smooth(method = "lm", se = FALSE) + 
                labs(x = "Sq. ft.", y = "Price",  
                     title = "Scatter Plot con Regresión Lineal") +  
                theme_minimal() 

# Mostramos el scatter plot
print(scatter_plot)
## `geom_smooth()` using formula = 'y ~ x'

# Histograma de precios
histogram_price <- ggplot(data, aes(x = Price)) +
                   geom_histogram(binwidth = 50000, fill = "skyblue", color = "black") +
                   labs(x = "Precio", y = "Frecuencia", title = "Histograma de Precios") +
                   theme_minimal()

# Mostramos el histograma
print(histogram_price)

Barras, baños y recámaras

Estos gráficos de barras tienen la intención de mostrar dónde están concentradas la mayoría de las propiedades con relación a el número de recámaras y baños.

# Diagrama de barras de número de baños
barplot_ba <- ggplot(data, aes(x = factor(Ba))) +
              geom_bar(fill = "skyblue", color = "black") +
              labs(x = "Número de Baños", y = "Cantidad", title = "Número de Propiedades por Baños") +
              theme_minimal()

# Mostramos el diagrama de barras de número de baños
print(barplot_ba)

# Diagrama de barras de número de habitaciones
barplot_br <- ggplot(data, aes(x = factor(Br))) +
              geom_bar(fill = "skyblue", color = "black") +
              labs(x = "Número de Habitaciones", y = "Cantidad", title = "Número de Propiedades por Habitaciones") +
              theme_minimal()

# Mostramos el diagrama de barras de número de habitaciones
print(barplot_br)

El calor del precio y el tamaño

Para finalizar y con la intención de hacer un grafico distinto a lo que se hizo en el taller, realicé este mapa de calor que nos muestra en color verde dónde están concentradas la mayoría de propiedades con relación a su precio y tamaño.

# Creamos un mapa de calor para representar la densidad de propiedades en diferentes ubicaciones
heat_map <- ggplot(data, aes(x = Size, y = Price)) +
            stat_density_2d(aes(fill = ..level..), geom = "polygon") +
            scale_fill_viridis_c() +
            labs(x = "Tamaño (Sq. ft.)", y = "Precio", title = "Mapa de Calor de Precio vs. Tamaño") +
            theme_minimal()

# Mostrar el mapa de calor
print(heat_map)
## Warning: The dot-dot notation (`..level..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(level)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.