Introduccion.

En este analisis, exploraremos los datos recabados de una incubadora (nuestro proyecto de IoT), para poder entender mejor la relacion entre los registos de Huemdad y Temperatura.

Cargamos las librerias necesarias para dedsarrollar el analisis de nuestros datos.

library(ggplot2)
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.1.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(readr)
## Warning: package 'readr' was built under R version 4.1.3
library(tidyr)

declaramos la variable y cargamos nuestro archivo CSV, para poder leerlo y visualizarlo.

incubadora <- read_csv("C:/Users/Giovanny/Desktop/incubadora.csv")
## Rows: 4135 Columns: 4
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr  (1): Valores
## dbl  (2): Tem, Hum
## dttm (1): Fecha
## 
## i Use `spec()` to retrieve the full column specification for this data.
## i Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(incubadora)

Convertimos la columna de Fecha a tipo Date, le damos formato.

incubadora$Fecha <- as.Date(incubadora$Fecha, format="%Y-%m-%d")

Generamos una grafica de dispersion y regresion entre la relacion de Temperatura y Humedad

ggplot(incubadora, aes(x=Tem, y=Hum)) +
  geom_point() +
  geom_smooth(method="lm") +
  labs(title="Dispersión y Regresión entre Temperatura y Humedad", x="Temperatura", y="Humedad")
## `geom_smooth()` using formula = 'y ~ x'

Generamos una grafica de regresion entre la relacion de Fecha con temperatura

ggplot(incubadora, aes(x=Fecha, y=Tem)) +
  geom_point() +
  geom_smooth(method="lm") +
  labs(title="Regresión de Fecha vs Temperatura", x="Fecha", y="Temperatura")
## `geom_smooth()` using formula = 'y ~ x'

Generamos una grafica de regresion entre la relacion de Fecha con Humedad

ggplot(incubadora, aes(x=Fecha, y=Hum)) +
  geom_point() +
  geom_smooth(method="lm") +
  labs(title="Regresión de Fecha vs Humedad", x="Fecha", y="Humedad")
## `geom_smooth()` using formula = 'y ~ x'

Declarando que ‘Valores’ es una lista de valores en formato de arreglo y necesita ser convertida a una matriz 8x8 para poder representar los datos

incubadora$Valores <- as.character(incubadora$Valores)

incubadora <- incubadora %>%
  mutate(Valores = lapply(strsplit(Valores, ","), function(x) matrix(as.numeric(x), nrow=8, byrow=TRUE)))

Crear un mapa de calor para el primer grupo de valores.

valores_mat <- incubadora$Valores[[1]]
valores_df <- as.data.frame(as.table(valores_mat))
names(valores_df) <- c("X1", "X2", "Value")

Agrega los colores y el dise;o a el mapa de calor, de manera que aumentala resolucion, la gama de colores y agrega el valor en cada valor de la matriz

ggplot(valores_df, aes(x=X2, y=X1, label=Value, fill=Value)) +
  geom_tile() +
  geom_text() +  # Agrega geom_text dentro de una llamada a geom_text()
  scale_fill_gradientn(colors=c("blue", "cyan", "green", "yellow", "orange", "red")) +
  labs(title="Mapa de Calor de Valores (Imagen Térmica)", x="Columnas", y="Filas") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  coord_fixed()

Gráfico de Series Temporales de Temperatura y Humedad: Este código genera un gráfico de líneas donde el eje x representa la fecha (Fecha). Hay dos líneas, una para la temperatura (Tem) y otra para la humedad (Hum).

ggplot(incubadora, aes(x=Fecha)) +
  geom_line(aes(y=Tem, color="Temperatura")) +
  geom_line(aes(y=Hum, color="Humedad")) +
  labs(title="Series Temporales de Temperatura y Humedad", x="Fecha", y="Valor") +
  scale_color_manual(values=c("blue", "red")) +
  theme_minimal()

Histograma de temperatura:Este código crea un histograma de la temperatura (Tem). La función geom_histogram agrupa los valores de temperatura en intervalos (bins) y cuenta cuántas veces aparece cada intervalo

ggplot(incubadora, aes(x=Tem)) +
  geom_histogram(binwidth = 1, fill="blue", color="black") +
  labs(title="Histograma de Temperatura", x="Temperatura", y="Frecuencia") +
  theme_minimal()

Histograma de Humedad: Este código crea un histograma de la humedad (Hum). Al igual que en el histograma anterior, la función geom_histogram agrupa los valores de humedad en intervalos (bins) y cuenta cuántas veces aparece cada intervalo.

ggplot(incubadora, aes(x=Hum)) +
  geom_histogram(binwidth = 5, fill="green", color="black") +
  labs(title="Histograma de Humedad", x="Humedad", y="Frecuencia") +
  theme_minimal()

Gráfico de Densidad de Temperatura:Este código genera un gráfico de densidad para la temperatura (Tem). La función geom_density crea una curva suavizada que muestra la distribución de los datos de temperatura.

ggplot(incubadora, aes(x=Tem, fill="Temperatura")) +
  geom_density(alpha=0.5) +
  labs(title="Densidad de Temperatura", x="Temperatura") +
  theme_minimal()

Gráfico de Densidad de Humedad, que utiliza la función geom_density crea una curva suavizada que muestra la distribución de los datos de humedad

ggplot(incubadora, aes(x=Hum, fill="Humedad")) +
  geom_density(alpha=0.5) +
  labs(title="Densidad de Humedad", x="Humedad") +
  theme_minimal()