Instalación de paquetes

if(!require(pacman))
  install.packages("pacman")
## Loading required package: pacman

Llamar a pacman

library("pacman")

Llamar paquetería necesaria

p_load("vroom",
       "dplyr",
       "ggplot2",
       "tidyr")

Llamar a base de datos

Curvas_amplif <- vroom (file = "https://raw.githubusercontent.com/ManuelLaraMVZ/resultados_PCR_practica/refs/heads/main/Amplif_grupo2_17022025.csv")
## `curl` package not installed, falling back to using `url()`
## Rows: 40 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (7): Cycle, A1, B1, C1, D1, E1, H1
## 
## ℹ 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: 40 × 7
##    Cycle       A1     B1      C1      D1      E1      H1
##    <dbl>    <dbl>  <dbl>   <dbl>   <dbl>   <dbl>   <dbl>
##  1     1 -131.    -27.4  -23.5   -60.7   -20.0   -105.  
##  2     2  -48.7     1.20  -3.27  -15.1     1.76   -30.5 
##  3     3  -26.4    10.3    0.816  -6.85    6.51     2.07
##  4     4  -11.2    11.9    2.67    6.87    6.96    19.1 
##  5     5   -5.55   13.1    0.968   7.74    5.78    19.0 
##  6     6   -3.14   12.6    4.07   -0.518   1.02    13.7 
##  7     7   -0.668  14.3    6.72    3.76    5.36    10.2 
##  8     8   -4.14   17.8    3.89   -0.213   0.737    4.11
##  9     9   -6.77   14.0   -5.40    1.87   -0.664    4.03
## 10    10   -0.178  16.1    0.103  -1.38   -4.51     5.09
## # ℹ 30 more rows

Modificar base de datos

Curvas_amplif2 <- Curvas_amplif %>%  
  mutate(Ciclos = Cycle,
         Manuel = A1,
         Regina = B1,
         Marian = C1,
         Ricardo = D1, 
         Neto = E1,
         Johan = H1) %>% 
  select(-Cycle:-H1) %>% 
  filter(Ciclos>=15)

Curvas_amplif2
## # A tibble: 26 × 7
##    Ciclos Manuel Regina  Marian Ricardo  Neto  Johan
##     <dbl>  <dbl>  <dbl>   <dbl>   <dbl> <dbl>  <dbl>
##  1     15 -1.05    20.7    6.85    2.70 -1.42  -7.33
##  2     16 -0.998   17.2   25.5     3.72 -1.68  -5.90
##  3     17  3.05    33.9   45.0    15.5  -6.40  -2.47
##  4     18 -1.90    49.6   82.2    31.1  -6.78  -4.23
##  5     19 -4.91    84.6  151.     56.1  -7.36  -9.54
##  6     20 -6.37   118.   241.     92.6  -4.65 -13.1 
##  7     21 -8.76   172.   413.    174.   -5.39 -10.6 
##  8     22 -4.11   232.   623.    265.   -7.50 -12.7 
##  9     23  2.24   301.   886.    391.   -7.09 -11.2 
## 10     24 -2.40   372.  1180.    526.   -7.93 -22.4 
## # ℹ 16 more rows

Reordenamiento de datos 1. Seleccionar datos a reordenar (variables dependientes) 2. Agrupar variables por nombre 3. Agrupar variables por ciclo

Curvas_amplif3 <- Curvas_amplif2 %>% 
  pivot_longer(cols = -Ciclos, 
               names_to = "Muestras",
               values_to = "Fluorescencias")
Curvas_amplif3
## # A tibble: 156 × 3
##    Ciclos Muestras Fluorescencias
##     <dbl> <chr>             <dbl>
##  1     15 Manuel           -1.05 
##  2     15 Regina           20.7  
##  3     15 Marian            6.85 
##  4     15 Ricardo           2.70 
##  5     15 Neto             -1.42 
##  6     15 Johan            -7.33 
##  7     16 Manuel           -0.998
##  8     16 Regina           17.2  
##  9     16 Marian           25.5  
## 10     16 Ricardo           3.72 
## # ℹ 146 more rows

Gráfica

Gráfica_amplif <- ggplot(data = Curvas_amplif3,
                         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 every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Gráfica_amplif

Mejorar la gráfica

Umbral_ciclos <- 75
Gráfica_amplif2<-Gráfica_amplif + 
  geom_hline(yintercept = Umbral_ciclos, 
             linetype= "dashed", 
             color="#8B008B")+
  theme_classic()+
  labs(title= "Curvas de amplificacion RT-qPCR",
       subtitle= "Todas las muestras",
       caption= "Diseño: Ricardo Palos, Regina Hernández, Diego Campos",
       x= "Ciclos",
       y= "Fluorescencia (u.a.)")+
  theme(axis.line = element_line(size=1, 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= 2))+
  scale_y_continuous(breaks =seq(min(Curvas_amplif3$Fluorescencias),
                                 max(Curvas_amplif3$Fluorescencias),
                                 by= 270),
                     labels = scales::number_format(accuracy = 0.05))
## 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.
Gráfica_amplif2

Gráfica datos del equipo

Gráfica_amplif_equipo <- ggplot(Curvas_amplif2,
                                aes(x=Ciclos,
                                    y=Ricardo)) +
  geom_line(linewidth= 1, color= "#ADFF2F")+
   
  geom_hline(yintercept = Umbral_ciclos, 
             linetype= "dashed", 
             color="#8B008B")+
  theme_classic()+
  labs(title= "Curvas de amplificacion RT-qPCR",
       subtitle= "Muestra equipo RRD",
       caption= "Diseño: Ricardo Palos, Regina Hernández, Diego Campos",
       x= "Ciclos",
       y= "Fluorescencia (u.a.)")+
  theme(axis.line = element_line(size=1, 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= 2))+
  scale_y_continuous(breaks =seq(min(Curvas_amplif3$Fluorescencias),
                                 max(Curvas_amplif3$Fluorescencias),
                                 by= 300),
                     labels = scales::number_format(accuracy = 0.05)) 

Gráfica_amplif_equipo

Gráfica del equipo comparada con Profesor (Manuel)

Gráfica_amplif_equipo_prof <- ggplot(Curvas_amplif2,
                                aes(x=Ciclos)) +
  geom_line(aes ( y= Ricardo, color = "Ricardo"), linewidth= 1) +
  geom_line(aes ( y= Manuel, color = "Manuel"), linewidth= 1) +
  geom_hline(yintercept = Umbral_ciclos, 
             linetype= "dashed", 
             color="#8B008B")+
  scale_color_manual(values = c("Ricardo" = "#ADFF2F", "Manuel" = "#48D1CC")) +
  theme_classic()+
  labs(title= "Curvas de amplificacion RT-qPCR",
       subtitle= "Comparación de muestras",
       caption= "Diseño: Ricardo Palos, Regina Hernández, Diego Campos",
       x= "Ciclos",
       y= "Fluorescencia (u.a.)",
       color = "Equipos")+
  theme(axis.line = element_line(size=1, 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= 2))+
  scale_y_continuous(breaks =seq(min(Curvas_amplif3$Fluorescencias),
                                 max(Curvas_amplif3$Fluorescencias),
                                 by= 300),
                     labels = scales::number_format(accuracy = 0.05)) +
  geom_line(aes(x = Ciclos, 
            y= Manuel),
            color = "#48D1CC",
            linewidth = 1.5)

Gráfica_amplif_equipo_prof