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/Ejemplo_amplificacion_RT-PCR.csv") %>%
mutate(Ciclos = Cycle, H2O = A1, Eq1 = B1, Eq2 = C1, Eq3 = D1, Eq4 = E1) %>%
select(-Cycle:-E1) %>% #quita ese rango
filter(Ciclos >=17) #select es para columnas, filter para filas. para quitar ciclos donde no hay amplificación
## `curl` package not installed, falling back to using `url()`
## Rows: 35 Columns: 6
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (6): Cycle, A1, B1, C1, D1, E1
##
## ℹ 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: 19 × 6
## Ciclos H2O Eq1 Eq2 Eq3 Eq4
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 17 0.0000132 0.00126 -0.00121 0.000599 0.000786
## 2 18 0.0000394 0.000431 -0.000969 -0.00155 -0.00119
## 3 19 -0.000106 0.000227 -0.00145 -0.000874 -0.00113
## 4 20 -0.000104 0.000133 -0.00197 -0.000632 -0.00134
## 5 21 -0.000119 0.00104 0.000464 0.000245 -0.000417
## 6 22 -0.0000153 0.00028 0.0032 -0.00081 0.00158
## 7 23 0.0000704 -0.000086 0.00494 0.00162 0.000497
## 8 24 0.00012 -0.000238 0.0144 0.00139 0.00121
## 9 25 -0.0000899 -0.000484 0.0263 0.00634 0.00425
## 10 26 0.0000114 -0.00133 0.0491 0.0101 0.00894
## 11 27 -0.000104 -0.000824 0.0763 0.0202 0.0202
## 12 28 -0.000101 -0.000922 0.105 0.0365 0.0353
## 13 29 -0.000222 -0.000938 0.134 0.0624 0.0594
## 14 30 -0.0000675 -0.000187 0.162 0.0895 0.0823
## 15 31 -0.000089 -0.0000371 0.191 0.114 0.107
## 16 32 -0.000188 0.0018 0.220 0.141 0.128
## 17 33 -0.0000273 0.00345 0.243 0.170 0.152
## 18 34 0.000358 0.00615 0.268 0.197 0.173
## 19 35 0.000345 0.00913 0.293 0.223 0.192
Reordenamiento de datos Paso 1: seleccionar datos a reordenar, aka variables independientes Paso 2: reordenar por nombre Paso 3: agrupar por ciclo
Curvas_amplif2 <- Curvas_amplif %>%
#pivot_longer: para manejo de muchos datos, seleccionar todas las columnas menos la primera
pivot_longer(cols = -Ciclos,
names_to = "Muestras",
values_to = "Fluorescencias")
Curvas_amplif2
## # A tibble: 95 × 3
## Ciclos Muestras Fluorescencias
## <dbl> <chr> <dbl>
## 1 17 H2O 0.0000132
## 2 17 Eq1 0.00126
## 3 17 Eq2 -0.00121
## 4 17 Eq3 0.000599
## 5 17 Eq4 0.000786
## 6 18 H2O 0.0000394
## 7 18 Eq1 0.000431
## 8 18 Eq2 -0.000969
## 9 18 Eq3 -0.00155
## 10 18 Eq4 -0.00119
## # ℹ 85 more rows
Gráfica
Grafica_amplif <- ggplot(data=Curvas_amplif2,
mapping = aes(x = Ciclos,
y = Fluorescencias,
color = Muestras)) +
geom_line(size = 1.5)
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Grafica_amplif
Mejorar gráfica
Umbral_ciclos <- 0.02
Grafica_amplif2 <- Grafica_amplif +
geom_hline(yintercept = Umbral_ciclos, linetype = "dashed", color = "#5A0B8F")+ #hline=lÃnea horizontal
theme_classic()+
labs(title="Curvas de amplificación RT-qPCR",
subtitle = "Todas las muestras",
caption = "Diseñó: Montserrat Espinosa",
x = "Ciclos",
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"))+
scale_x_continuous(breaks = seq(min(Curvas_amplif2$Ciclos),
max(Curvas_amplif2$Ciclos),
by = 2))+
scale_y_continuous(breaks = seq(min(Curvas_amplif2$Fluorescencias),
max(Curvas_amplif2$Fluorescencias),
by = 0.02),
labels = scales::number_format(accuracy = 0.02))
## 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_amplif2
Gráfica de datos del equipo
Grafica_amplif_equipo <- ggplot(Curvas_amplif,
aes(x = Ciclos)) +
geom_line(aes(y = Eq3, color = "Eq3"), linewidth = 1.5)+
geom_line(aes(y = H2O, color = "H2O"), linewidth = 1.5)+
geom_hline(yintercept = Umbral_ciclos, linetype = "dashed", color = "#5A0B8F")+ #hline=lÃnea horizontal
scale_color_manual(values = c("Eq3" = "#2E6B5F", "H2O" = "#8F452E"))+
theme_classic()+
labs(title="Curvas de amplificación RT-qPCR",
subtitle = "Todas las muestras",
caption = "Diseñó: Montserrat Espinosa",
x = "Ciclos",
y = "Fluorescencia (u.a.)",
color = "Muestras")+
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 = 2))+
scale_y_continuous(breaks = seq(min(Curvas_amplif2$Fluorescencias),
max(Curvas_amplif2$Fluorescencias),
by = 0.02),
labels = scales::number_format(accuracy = 0.02))+
geom_line(aes(x = Ciclos,
y = H2O),
color = "#B07C41",
linewidth = 1.5)
Grafica_amplif_equipo