if(! require(pacman))
install.packages("pacman")
## Loading required package: pacman
library("pacman")
p_load("vroom",
"dplyr",
"ggplot2",
"tidyr")
Curvas_amplif <- vroom(file="https://raw.githubusercontent.com/ManuelLaraMVZ/resultados_PCR_practica/refs/heads/main/Amplif_grupo1_24022025.csv")
## Rows: 51 Columns: 9
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (9): Cycle, A1, B1, C1, D1, E1, F1, G1, Manuel
##
## ℹ 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.
Curvas_amplif
## # A tibble: 51 × 9
## Cycle A1 B1 C1 D1 E1 F1 G1 Manuel
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 -732. -450. -50.4 -30.1 -109. -10.7 -5.87 -37.4
## 2 2 -402. -237. -20.8 15.9 -80.6 -10.4 -8.17 1.12
## 3 3 -294. -171. -14.1 11.9 -71.2 -7.35 -5.06 7.85
## 4 4 -322. -143. 8.14 13.6 -60.4 -6.83 -3.26 15.0
## 5 5 -300. -100. 12.1 5.93 -54.7 -3.67 -3.51 8.92
## 6 6 -277. -84.8 17.0 14.6 -41.4 1.04 0.0908 6.62
## 7 7 -232. -78.9 14.0 10.8 -31.2 -2.24 -2.85 -4.64
## 8 8 -197. -61.4 14.8 13.6 -23.1 3.22 4.79 -2.66
## 9 9 -143. -39.9 11.0 10.4 -13.4 4.09 2.17 -4.38
## 10 10 -95.6 -12.9 3.21 8.78 -2.80 2.80 -0.0460 28.3
## # ℹ 41 more rows
Modificar base de datos
Curvas_amplif2 <- Curvas_amplif %>%
mutate(Ciclos = Cycle,
PPDA = A1,
ZARX = B1,
F2S2 = C1,
LANS = D1,
NEGATIVO = E1,
D2MI = F1,
CONTROL = Manuel) %>%
select(-Cycle:-Manuel) %>%
filter(Ciclos >=10)
Curvas_amplif2
## # A tibble: 42 × 8
## Ciclos PPDA ZARX F2S2 LANS NEGATIVO D2MI CONTROL
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 10 -95.6 -12.9 3.21 8.78 -2.80 2.80 28.3
## 2 11 -78.1 -13.1 2.47 1.01 0.325 0.486 97.9
## 3 12 -35.1 -1.24 -3.91 2.81 9.72 1.88 242.
## 4 13 -44.5 1.21 7.42 -0.884 13.2 -5.39 523.
## 5 14 4.89 11.1 28.0 7.84 21.5 -0.898 1007.
## 6 15 16.6 11.7 57.1 16.4 26.2 0.640 1841.
## 7 16 47.7 32.4 126. 35.2 36.0 -0.979 2762.
## 8 17 70.9 30.9 260. 71.9 50.0 5.15 3736.
## 9 18 106. 22.7 497. 143. 51.2 1.37 4655.
## 10 19 128. 40.8 880. 274. 60.5 -2.22 5483.
## # ℹ 32 more rows
Reordenamiento de datos
Curvas_amplif3 <- Curvas_amplif2 %>%
pivot_longer(cols =-Ciclos,
names_to = "Muestras",
values_to = "Fluorescencias")
Curvas_amplif3
## # A tibble: 294 × 3
## Ciclos Muestras Fluorescencias
## <dbl> <chr> <dbl>
## 1 10 PPDA -95.6
## 2 10 ZARX -12.9
## 3 10 F2S2 3.21
## 4 10 LANS 8.78
## 5 10 NEGATIVO -2.80
## 6 10 D2MI 2.80
## 7 10 CONTROL 28.3
## 8 11 PPDA -78.1
## 9 11 ZARX -13.1
## 10 11 F2S2 2.47
## # ℹ 284 more rows
Gráfica
Grafica_amplif <- ggplot(data = Curvas_amplif3,
mapping = aes(x = Ciclos,
y = Fluorescencias,
color = Muestras))+
geom_line(linewidth = 1.5)
Grafica_amplif
Mejorar la gráfica
Umbral_ciclos <-20
Grafica_amplif2 <- Grafica_amplif+
geom_hline(yintercept= Umbral_ciclos,linetype = "dashed", color = "#721543")+
theme_classic()+
labs(title = "Curvas de amplificación RT-qPCR",
subtitle = "Todas las muestras",
caption = "Diseñaron:Deni, Diego, Isa y Mony",
x = "Ciclos",
y = "Fluorescencias (u.a.)")+
theme(axis.line = element_line(size = 1.5, 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(Curvas_amplif3$Ciclos),
max(Curvas_amplif3$Ciclos),
by = 10))+
scale_y_continuous(breaks = seq(min(Curvas_amplif3$Fluorescencias),
max(Curvas_amplif3$Fluorescencias),
by = 2000),
labels = scales::number_format(accuracy =2000))
## 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_amplif2
Gráfica de los datos del equipo
Grafica_amplif_equipo <- ggplot(Curvas_amplif2, aes(x = Ciclos)) +
# Primer línea (Curva Amplificación)
geom_line(aes(y = D2MI, color = "Curva Amplificación"), linewidth = 1.5) +
# Línea horizontal (Umbral)
geom_hline(yintercept = Umbral_ciclos, linetype = "dashed", color = "#721543", aes(color = "Umbral")) +
# Segunda línea (Control)
geom_line(aes(y = CONTROL, color = "Control"), linewidth = 1.5) +
theme_classic() +
labs(title = "Curvas de amplificación RT-qPCR",
subtitle = "Todas las muestras",
caption = "Diseñaron:Deni, Diego, Isa y Mony",
x = "Ciclos",
y = "Fluorescencias (u.a.)",
color = "Muestras") + # Título de la leyenda
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(Curvas_amplif2$Ciclos),
max(Curvas_amplif2$Ciclos),
by = 10)) +
scale_y_continuous(breaks = seq(min(Curvas_amplif2$D2MI),
max(Curvas_amplif2$D2MI),
by = 2000),
labels = scales::number_format(accuracy = 2000)) +
scale_color_manual(values = c("Curva Amplificación" = "#fca1ce", # Color de la primera línea
"Umbral" = "#721543", # Color de la línea horizontal (Umbral)
"Control" = "#dfa1fc")) # Color de la segunda línea (Control)
## Warning: `geom_hline()`: Ignoring `mapping` because `yintercept` was provided.
# Mostrar la gráfica
print(Grafica_amplif_equipo)