library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(fBasics)
library(corrplot)
## corrplot 0.94 loaded
ts <- read.csv(file = "sensory_volatil.csv")  %>% 
  dplyr::select(-c(1,17))
# Función para calcular la desviación estándar de cada columna
col_sd <- function(data) {
  apply(data, 2, sd)
}

# Función para realizar el escalado de Pareto
pareto_scale <- function(data) {
  # Centrar los datos (restar la media de cada columna)
  centered_data <- scale(data, center = TRUE, scale = FALSE)
  
  # Calcular la desviación estándar de cada columna
  std_devs <- col_sd(centered_data)
  
  # Escalar cada columna por la raíz cuadrada de su desviación estándar
  pareto_scaled_data <- sweep(centered_data, 2, sqrt(std_devs), FUN = "/")
  
  return(pareto_scaled_data)
}
scaled_data <- pareto_scale(ts) %>% 
  as.data.frame()
write.csv(scaled_data, file = "scaled_sensory_volatil.csv")

subseting data

v10 <- scaled_data %>% 
  dplyr::select(c(1:22))

v20 <- scaled_data %>% 
  dplyr::select(c(1:15,23:30))

v30 <- scaled_data %>% 
  dplyr::select(c(1:15,31:37))

v40 <- scaled_data %>% 
  dplyr::select(c(1:15,38:45))

v50 <- scaled_data %>% 
  dplyr::select(c(1:15,46:53))

v60 <- scaled_data %>% 
  dplyr::select(c(1:15,54:61))

v70 <- scaled_data %>% 
  dplyr::select(c(1:15,62:70))

v80 <- scaled_data %>% 
  dplyr::select(c(1:15,71:76))

v90 <- scaled_data %>% 
  dplyr::select(c(1:15,77:82))

#Lineal correlation plots raw data

corrplot(corr=cor(v10),
         method = "number",
         type = "full",
         tl.pos = "tl",
         order = "original",
         tl.cex = 0.7,       
         number.cex = 0.5)

corrplot(corr=cor(v20),
         method = "number",
         type = "full",
         tl.pos = "tl",
         order = "original",
         tl.cex = 0.7,       
         number.cex = 0.5)

corrplot(corr=cor(v30),
         method = "number",
         type = "full",
         tl.pos = "tl",
         order = "original",
         tl.cex = 0.7,       
         number.cex = 0.5)

corrplot(corr=cor(v40),
         method = "number",
         type = "full",
         tl.pos = "tl",
         order = "original",
         tl.cex = 0.7,       
         number.cex = 0.5)

corrplot(corr=cor(v50),
         method = "number",
         type = "full",
         tl.pos = "tl",
         order = "original",
         tl.cex = 0.7,       
         number.cex = 0.5)

corrplot(corr=cor(v60),
         method = "number",
         type = "full",
         tl.pos = "tl",
         order = "original",
         tl.cex = 0.7,       
         number.cex = 0.5)

corrplot(corr=cor(v70),
         method = "number",
         type = "full",
         tl.pos = "tl",
         order = "original",
         tl.cex = 0.7,       
         number.cex = 0.5)

corrplot(corr=cor(v80),
         method = "number",
         type = "full",
         tl.pos = "tl",
         order = "original",
         tl.cex = 0.7,       
         number.cex = 0.5)

corrplot(corr=cor(v90),
         method = "number",
         type = "full",
         tl.pos = "tl",
         order = "original",
         tl.cex = 0.7,       
         number.cex = 0.5)