install.packages("pacman")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library("pacman")
p_load("vroom",
"dplyr",
"ggplot2",
"tidyr",
"ggrepel",
"plotly")
Melting_curves <- vroom(file = "https://raw.githubusercontent.com/ManuelLaraMVZ/resultados_PCR_practica/refs/heads/main/Disociaci%C3%B3n_Grupo2_24022025.csv")
## Rows: 61 Columns: 7
## āā Column specification āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
## Delimiter: ","
## dbl (7): Temperature, A1, A2, A3, A4, A5, A6
##
## ā¹ 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 Ć 7
## Temperature A1 A2 A3 A4 A5 A6
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 65 14444. 21615. 20410. 4466. 20498. 2707.
## 2 65.5 14395. 21594. 20229. 4458. 20264. 2706.
## 3 66 14346. 21574. 20048. 4451. 20031. 2705.
## 4 66.5 14296. 21553. 19868. 4444. 19797. 2704.
## 5 67 14247. 21532. 19687. 4437. 19564. 2703.
## 6 67.5 14198. 21511. 19506. 4430. 19330. 2702.
## 7 68 14149. 21490. 19325. 4423. 19096. 2701.
## 8 68.5 14083. 21448. 19105. 4412. 18833. 2700.
## 9 69 14000. 21380. 18852. 4398. 18555. 2699.
## 10 69.5 13898. 21275. 18579. 4382. 18268. 2698.
## # ā¹ 51 more rows
modificar la base de datos
Melting_curves2 <- Melting_curves %>%
mutate (Temperatura = Temperature, Manuel = A1, Ricardo = A2, Regina = A3, Marian = A4, Neto = A5, Johan = A6) %>%
select(-Temperature:-A6)
Melting_curves2
## # A tibble: 61 Ć 7
## Temperatura Manuel Ricardo Regina Marian Neto Johan
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 65 14444. 21615. 20410. 4466. 20498. 2707.
## 2 65.5 14395. 21594. 20229. 4458. 20264. 2706.
## 3 66 14346. 21574. 20048. 4451. 20031. 2705.
## 4 66.5 14296. 21553. 19868. 4444. 19797. 2704.
## 5 67 14247. 21532. 19687. 4437. 19564. 2703.
## 6 67.5 14198. 21511. 19506. 4430. 19330. 2702.
## 7 68 14149. 21490. 19325. 4423. 19096. 2701.
## 8 68.5 14083. 21448. 19105. 4412. 18833. 2700.
## 9 69 14000. 21380. 18852. 4398. 18555. 2699.
## 10 69.5 13898. 21275. 18579. 4382. 18268. 2698.
## # ā¹ 51 more rows
Agrupacion de datos
Melting_curves3 <- Melting_curves2 %>%
pivot_longer(cols = - Temperatura,
names_to = "Muestras",
values_to = "Fluorescencias")
Melting_curves3
## # A tibble: 366 Ć 3
## Temperatura Muestras Fluorescencias
## <dbl> <chr> <dbl>
## 1 65 Manuel 14444.
## 2 65 Ricardo 21615.
## 3 65 Regina 20410.
## 4 65 Marian 4466.
## 5 65 Neto 20498.
## 6 65 Johan 2707.
## 7 65.5 Manuel 14395.
## 8 65.5 Ricardo 21594.
## 9 65.5 Regina 20229.
## 10 65.5 Marian 4458.
## # ā¹ 356 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 disociación",
subtitle = "Todas las muestras",
caption = "Diseñó: Monica, Marian, Sofia y Laura",
x= "Tempertura (Āŗ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 every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Grafica_melting
Derivadas de las curvas de disociación
Derivadas <- Melting_curves2 %>%
mutate(across (Manuel : Johan ,
~-c(NA, diff(.x)/diff(Melting_curves2$Temperatura)), .names = "d_{.col}")) %>%
select(-Manuel:-Johan) %>%
slice(-1)
Derivadas
## # A tibble: 60 Ć 7
## Temperatura d_Manuel d_Ricardo d_Regina d_Marian d_Neto d_Johan
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 65.5 98.2 41.8 361. 14.1 467. 1.92
## 2 66 98.2 41.8 361. 14.1 467. 1.92
## 3 66.5 98.2 41.8 361. 14.1 467. 1.92
## 4 67 98.2 41.8 361. 14.1 467. 1.92
## 5 67.5 98.2 41.8 361. 14.1 467. 1.92
## 6 68 98.2 41.8 361. 14.1 467. 1.92
## 7 68.5 131. 83.3 441. 22.5 527. 2.14
## 8 69 167. 138. 506. 28.6 555. 2.57
## 9 69.5 205. 210. 546. 32.1 574. 2.25
## 10 70 245. 286. 571. 34.1 594. 2.98
## # ā¹ 50 more rows
Reordenar los datos
Derivadas2 <- Derivadas %>%
pivot_longer(cols = -Temperatura,
names_to = "Muestras",
values_to = "Derivadas")
Derivadas2
## # A tibble: 360 Ć 3
## Temperatura Muestras Derivadas
## <dbl> <chr> <dbl>
## 1 65.5 d_Manuel 98.2
## 2 65.5 d_Ricardo 41.8
## 3 65.5 d_Regina 361.
## 4 65.5 d_Marian 14.1
## 5 65.5 d_Neto 467.
## 6 65.5 d_Johan 1.92
## 7 66 d_Manuel 98.2
## 8 66 d_Ricardo 41.8
## 9 66 d_Regina 361.
## 10 66 d_Marian 14.1
## # ā¹ 350 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 disociación",
subtitle = "Todas las muestras",
caption = "Diseñó: Monica, Marian, Sofia y Laura",
x= "Tempertura (Āŗ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))
Grafica_derivada
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 (ĀŗC)"),
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_Marian, color = "d_Marian"), linewidth = 1.2) +
geom_line(aes(y= d_Manuel, color = "d_Manuel"), linewidth = 1.2) +
scale_color_manual(values = c("d_Marian" = "#8ea0cb", "d_Manuel" = "#f28c61"))+
theme_classic() +
labs(title = "Derivada de disociación",
subtitle = "Tejido: Cerebro",
caption = "Diseñó: Monica, Marian, Sofia y Laura",
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 = 3))
Grafica_derivada_equipo
Etiquetas
Pico <- max(Derivadas$d_Marian)
Pico
## [1] 38.32567
Temperatura
Tm <- Derivadas %>%
filter(d_Marian == Pico) %>%
select(Temperatura, d_Marian)
Tm
## # A tibble: 1 Ć 2
## Temperatura d_Marian
## <dbl> <dbl>
## 1 73 38.3
Grafica con etiqueta
Grafica_derivada_equipo2 <- Grafica_derivada_equipo +
geom_vline(xintercept = Tm$Temperatura,
color = "#337529",
linetype = "dashed",
linewidth = 1)+
geom_label_repel(data = Tm,
aes(x= Temperatura,
y= d_Marian,
label = paste("Tm =", round(Temperatura),"ĀŗC")),
nudge_x = 3,
nudge_y = 3,
max.overlaps = 100,
color = "black",
fill = "#42b0bd")
Grafica_derivada_equipo2