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")

llamar a base de datos

Curvas_amplif <- vroom(file = "https://raw.githubusercontent.com/ManuelLaraMVZ/resultados_PCR_practica/refs/heads/main/Amplif_grupo2_17022025.csv", delim = ",")
## 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.
head(Curvas_amplif)
## # A tibble: 6 × 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

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)
Curvas_amplif2
## # A tibble: 40 × 7
##    Ciclos   Manuel Regina  Marian Ricardo    Neto   Johan
##     <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

Reordenamiento de datos 1. seleccionar los datos a reordenar (variables dependientes) 2. agrupar todas las variables por nombre 3. agrupar todas las variables por ciclo

Curvas_amplif3 <- Curvas_amplif2 %>% 
  pivot_longer(cols = -Ciclos,
               names_to = "Muestras",
               values_to = "Fluorescencias")
Curvas_amplif3
## # A tibble: 240 × 3
##    Ciclos Muestras Fluorescencias
##     <dbl> <chr>             <dbl>
##  1      1 Manuel          -131.  
##  2      1 Regina           -27.4 
##  3      1 Marian           -23.5 
##  4      1 Ricardo          -60.7 
##  5      1 Neto             -20.0 
##  6      1 Johan           -105.  
##  7      2 Manuel           -48.7 
##  8      2 Regina             1.20
##  9      2 Marian            -3.27
## 10      2 Ricardo          -15.1 
## # ℹ 230 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 grafica

Umbral_ciclos <- 200


Grafica_amplif2 <- Grafica_amplif + 
  geom_hline (yintercept = Umbral_ciclos, linetype = "dashed", color = "#900C3F")+
theme_classic()+
  labs (title = "Curvas de amplificación RT-qPCR",
        subtitle = "Todas las muestras",
        caption = "Diseñaron : Mónica, Marian, Sofia y Laura",
        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_amplif3$Ciclos),
                                  max(Curvas_amplif3$Ciclos),
                                  by = 5))+
  scale_y_continuous(breaks = seq(min(Curvas_amplif3$Fluorescencias),
                                  max(Curvas_amplif3$Fluorescencias),
                                  by = 500),
                     labels = scales::number_format(accuracy =500))
## 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

Grafica de los datos del equipo

Grafica_amplif_equipo <- ggplot(Curvas_amplif2, aes(x= Ciclos)) +
  geom_line(aes(y= Marian, color = "Marian"), linewidth = 1.2) +
  geom_line(aes(y= Manuel, color = "Manuel"), linewidth = 1.2) +
  geom_hline(yintercept = Umbral_ciclos, linetype = "dashed", color = "#900C3F") +
  theme_classic() +
  labs(title = "Curvas de amplificación RT-qPCR",
       subtitle = "Muestra cerebro",
       caption = "Diseñaron : Mónica, Marian, Sofia y Laura",
       x = "Ciclos",
       y = "Fluorescencia (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_amplif3$Ciclos),
                                  max(Curvas_amplif3$Ciclos),
                                  by = 5)) +
  scale_y_continuous(breaks = seq(min(Curvas_amplif2$Marian),
                                  max(Curvas_amplif2$Marian),
                                  by = 500),
                     labels = scales::number_format(accuracy = 500)) +
  scale_color_manual(values = c("Marian" = "#5be4ac", "Manuel" = "#c2a235"))  # Definir colores manualmente

Grafica_amplif_equipo