Correr la paqueterĆa - instalación de los paquetes Instalación de paquetes
Pacman: llama a otros paquetes y si no estan los instala
if (!require(pacman))
install.packages("pacman")
## Loading required package: pacman
Llamar a pacman
library("pacman")
p_load("vroom",
"dplyr",
"ggplot2",
"tidyr",
"ggrepel",
"plotly")
Melting_curves <- vroom(file= "https://raw.githubusercontent.com/ManuelLaraMVZ/Metabolomica_2026_1/refs/heads/main/Disociación_G2.csv")
## Rows: 61 Columns: 4
## āā Column specification āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
## Delimiter: ","
## dbl (4): Temperature, A1, A2, A3
##
## ā¹ Use `spec()` to retrieve the full column specification for this data.
## ā¹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
Melting_curves
## # A tibble: 61 Ć 4
## Temperature A1 A2 A3
## <dbl> <dbl> <dbl> <dbl>
## 1 65 2606. 2789. 2602.
## 2 65.5 2602. 2779. 2598.
## 3 66 2597. 2769. 2595.
## 4 66.5 2593. 2758. 2591.
## 5 67 2589. 2748. 2587.
## 6 67.5 2584. 2738. 2583.
## 7 68 2580. 2727. 2580.
## 8 68.5 2576. 2716. 2576.
## 9 69 2572. 2705. 2572.
## 10 69.5 2568. 2692. 2568.
## # ā¹ 51 more rows
Modificar base de datos
Melting_curves2 <- Melting_curves %>%
mutate(Temperatura = Temperature,
JPP = A1,
EQUIPO2 = A2,
EQUIPO3 = A3,) %>%
select(-Temperature:-A3)
Melting_curves2
## # A tibble: 61 Ć 4
## Temperatura JPP EQUIPO2 EQUIPO3
## <dbl> <dbl> <dbl> <dbl>
## 1 65 2606. 2789. 2602.
## 2 65.5 2602. 2779. 2598.
## 3 66 2597. 2769. 2595.
## 4 66.5 2593. 2758. 2591.
## 5 67 2589. 2748. 2587.
## 6 67.5 2584. 2738. 2583.
## 7 68 2580. 2727. 2580.
## 8 68.5 2576. 2716. 2576.
## 9 69 2572. 2705. 2572.
## 10 69.5 2568. 2692. 2568.
## # ā¹ 51 more rows
Agrupacion de datos
Melting_curves3 <- Melting_curves2 %>%
pivot_longer(cols = -Temperatura,
names_to = "Muestras",
values_to = "Fluorescencias")
Melting_curves3
## # A tibble: 183 Ć 3
## Temperatura Muestras Fluorescencias
## <dbl> <chr> <dbl>
## 1 65 JPP 2606.
## 2 65 EQUIPO2 2789.
## 3 65 EQUIPO3 2602.
## 4 65.5 JPP 2602.
## 5 65.5 EQUIPO2 2779.
## 6 65.5 EQUIPO3 2598.
## 7 66 JPP 2597.
## 8 66 EQUIPO2 2769.
## 9 66 EQUIPO3 2595.
## 10 66.5 JPP 2593.
## # ā¹ 173 more rows
Grafica
Grafica_melting <- ggplot(Melting_curves3,
aes(x = Temperatura,
y = Fluorescencias,
color = Muestras))+
geom_line(linewidth = 1.5)+
theme_classic()+
labs(title = "Curvas de disoaciación",
subtitle = "Todas las muestras",
caption = "Diseñó: Paulina Aguilar",
x = "Temperatura (°C)",
y = "Fluorescencia (u.a)")+
theme(axis.line = element_line(size=1.2, color="black"),
axis.title = element_text(face="bold"),
axis.text = element_text(face="bold"),
legend.title = element_text(face="bold"),
legend.text = element_text(face="bold"))
## Warning: The `size` argument of `element_line()` is deprecated as of ggplot2 3.4.0.
## ā¹ Please use the `linewidth` argument instead.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Grafica_melting
Sacar las derivadas negativas (pico hacia arriba) de todos las curvas de
la graficaā> identificar picos para conocer temperatura de
disociacion
Derivadas de las curvas de disociacion
Derivadas <- Melting_curves2 %>%
mutate(across(JPP:EQUIPO3,
~-c(NA,diff(.x)/diff(Melting_curves2$Temperatura)), .names = "d_{.col}")) %>%
select(-JPP:-EQUIPO3) %>%
slice(-1)
Derivadas
## # A tibble: 60 Ć 4
## Temperatura d_JPP d_EQUIPO2 d_EQUIPO3
## <dbl> <dbl> <dbl> <dbl>
## 1 65.5 8.63 20.6 7.46
## 2 66 8.63 20.6 7.46
## 3 66.5 8.63 20.6 7.46
## 4 67 8.63 20.6 7.46
## 5 67.5 8.63 20.6 7.46
## 6 68 8.63 20.6 7.46
## 7 68.5 7.91 22.3 7.70
## 8 69 7.99 23.5 7.91
## 9 69.5 8.45 25.4 8.22
## 10 70 9.11 27.4 8.56
## # ā¹ 50 more rows
Reordenar los datos
Derivadas2 <- Derivadas %>%
pivot_longer(cols = -Temperatura,
names_to = "Muestras",
values_to = "Derivadas")
Derivadas2
## # A tibble: 180 Ć 3
## Temperatura Muestras Derivadas
## <dbl> <chr> <dbl>
## 1 65.5 d_JPP 8.63
## 2 65.5 d_EQUIPO2 20.6
## 3 65.5 d_EQUIPO3 7.46
## 4 66 d_JPP 8.63
## 5 66 d_EQUIPO2 20.6
## 6 66 d_EQUIPO3 7.46
## 7 66.5 d_JPP 8.63
## 8 66.5 d_EQUIPO2 20.6
## 9 66.5 d_EQUIPO3 7.46
## 10 67 d_JPP 8.63
## # ā¹ 170 more rows
GrƔficas Derivadas
Grafica_derivada <- ggplot(Derivadas2,
aes(x = Temperatura,
y = Derivadas,
color = Muestras))+
geom_line(linewidth = 1.5)+
theme_classic()+
labs(title = "Curvas de la derivada de disoaciación",
subtitle = "Todas las muestras",
caption = "Integrantes del equipo: JPP",
x = "Temperatura (°C)",
y = expression (-Delta~F / Delta~T))+
theme(axis.line = element_line(size=1.2, color="black"),
axis.title = element_text(face="bold"),
axis.text = element_text(face="bold"),
legend.title = element_text(face="bold"),
legend.text = element_text(face="bold"))+
scale_x_continuous(breaks = seq(min(Derivadas2$Temperatura),
max(Derivadas2$Temperatura),
by = 3.5))
Grafica_derivada
Construir una grafica 3D
Grafica_derivada_3D <- plot_ly(Derivadas2,
x = ~Temperatura,
y = ~Muestras,
z = ~Derivadas,
color = ~factor(Muestras),
type = "scatter3d",
mode = "lines",
line = list(width = 6))%>%
layout(title = "Curvas de derivada en 3D",
scene = list(
xaxis = list(title = "Temperatura"),
yaxis = list(title = "Muestras"),
zaxis = list(title = "-ĪT/ĪF")
))
Grafica_derivada_3D
Grafica del equipo
Grafica_derivada_equipo <- ggplot(Derivadas,
aes(x = Temperatura))+
geom_line(aes(y = d_JPP, color = "d_JPP"), linewidth = 1.5) +
scale_color_manual(
name = "Muestras",
values = c("d_JPP" = "#93D620")
) +
theme_classic()+
labs(title = "Derivada de Disociación",
subtitle = "EQUIPO JPP",
caption = "Integrantes del equipo: JPP",
x = "Temperatura",
y = expression (-Delta~F / Delta~T))+
theme(axis.line = element_line(size=1.2, color="black"),
axis.title = element_text(face="bold"),
axis.text = element_text(face="bold"),
legend.title = element_text(face="bold"),
legend.text = element_text(face="bold"))+
scale_x_continuous(breaks = seq(min(Derivadas2$Temperatura),
max(Derivadas2$Temperatura),
by = 2.5))
Grafica_derivada_equipo
Etiquetas ā conocer valor exacto de Tm
Pico <- max(Derivadas$d_JPP)
Pico
## [1] 68.81715
Temperatura: correlación de las columnas
Tm <- Derivadas %>%
filter(d_JPP == Pico) %>%
select(Temperatura,d_JPP)
Tm
## # A tibble: 1 Ć 2
## Temperatura d_JPP
## <dbl> <dbl>
## 1 82.5 68.8
GrƔfica con etiqueta
Grafica_derivada_equipo2 <- Grafica_derivada_equipo+
geom_vline(xintercept = Tm$Temperatura,
color = "#2D4512",
linetype = "dashed",
linewidth = 1)+
geom_label_repel(data = Tm,
aes(x = Temperatura,
y = d_JPP,
label = paste("Tm = ", round(Temperatura),"°C")),
nudge_x = 4,
nudge_y = -0.3,
max.overlaps = 100,
color = "black",
fill = "#EBE8D8")
Grafica_derivada_equipo2