Instalación de paquetes Pacman

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

Llamar paqueteria necesaria

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

Llamar a base de datos

Curvas_amplif <- read.csv(file="https://raw.githubusercontent.com/ManuelLaraMVZ/resultados_PCR_practica/refs/heads/main/Amplif_grupo2_17022025.csv")
Curvas_amplif
##    Cycle           A1         B1           C1           D1           E1
## 1      1 -130.5302484 -27.420108  -23.4846130  -60.7470105  -20.0380601
## 2      2  -48.6828056   1.200377   -3.2706757  -15.0623155    1.7599193
## 3      3  -26.4325027  10.314809    0.8156109   -6.8512508    6.5105286
## 4      4  -11.1609463  11.923687    2.6658889    6.8659362    6.9622847
## 5      5   -5.5519322  13.099167    0.9680155    7.7414393    5.7836178
## 6      6   -3.1364494  12.631298    4.0684877   -0.5178159    1.0165572
## 7      7   -0.6675344  14.306466    6.7213583    3.7621350    5.3595559
## 8      8   -4.1413492  17.781415    3.8933444   -0.2126059    0.7374334
## 9      9   -6.7724948  14.000995   -5.4027631    1.8723613   -0.6639075
## 10    10   -0.1776662  16.109365    0.1029792   -1.3790445   -4.5110047
## 11    11    3.9860396  17.139972    0.1133305    5.7271861    0.1864360
## 12    12   -3.1288300  12.387640    4.3835122    1.0031560   -3.0809283
## 13    13   -1.5798798  11.696081    0.3990870   -1.9592870   -7.1114996
## 14    14    1.7684743   8.756399    4.9446811    1.7029845   -3.8336917
## 15    15   -1.0480298  20.697060    6.8481278    2.6972633   -1.4239648
## 16    16   -0.9978187  17.219311   25.4974932    3.7173948   -1.6814489
## 17    17    3.0478430  33.891979   44.9621920   15.4768549   -6.3953409
## 18    18   -1.8983324  49.591515   82.2117926   31.1271357   -6.7847709
## 19    19   -4.9114141  84.614673  151.4289012   56.1489946   -7.3590715
## 20    20   -6.3738257 118.125207  241.2039719   92.5943013   -4.6466738
## 21    21   -8.7552252 172.364916  412.6108338  174.4002413   -5.3907238
## 22    22   -4.1051973 232.466343  623.3814133  265.3550855   -7.5022804
## 23    23    2.2403730 301.187182  885.8754648  390.5962003   -7.0895472
## 24    24   -2.4026281 371.967290 1180.0350090  525.7784668   -7.9263438
## 25    25   -1.7353687 447.794678 1483.3341950  675.4369892   -1.2438599
## 26    26    2.7039360 519.087125 1770.9125280  831.3390109    4.2028195
## 27    27    7.3410221 589.924228 2030.7907600  993.8488203   -0.5241759
## 28    28   31.1168906 655.687297 2254.2891930 1149.1336250    7.6437916
## 29    29   60.5305504 710.956722 2432.6846390 1292.4698800   11.5259657
## 30    30  101.5649836 754.255479 2572.5314340 1416.4660060   13.9227662
## 31    31  147.5153188 788.721504 2674.2767600 1522.4804940   32.0145518
## 32    32  198.3025345 817.202239 2747.8749140 1611.5912660   40.0374699
## 33    33  262.0854221 835.811427 2797.4411300 1682.4396090   74.8234689
## 34    34  332.4228470 848.615480 2829.3361800 1737.1993240  115.4316139
## 35    35  406.9492803 853.519593 2850.5403220 1772.2678560  191.2276918
## 36    36  488.1221868 860.075579 2861.8114120 1793.5527760  294.7195498
## 37    37  572.4151303 857.451767 2869.0124190 1805.1803550  456.9145421
## 38    38  658.3116161 856.090208 2871.3460450 1814.9116200  640.1365760
## 39    39  743.0515640 849.763968 2872.6102820 1821.7464150  846.7123183
## 40    40  825.0751987 843.731051 2871.8544380 1827.3238630 1061.2097820
##              H1
## 1  -104.6974289
## 2   -30.4569498
## 3     2.0749456
## 4    19.1494076
## 5    18.9645566
## 6    13.6925910
## 7    10.1573977
## 8     4.1100851
## 9     4.0301079
## 10    5.0949633
## 11    8.9592194
## 12   -5.2236110
## 13   -0.6503485
## 14   -4.0163025
## 15   -7.3288339
## 16   -5.8961883
## 17   -2.4660613
## 18   -4.2284104
## 19   -9.5379355
## 20  -13.1143588
## 21  -10.6041951
## 22  -12.7338467
## 23  -11.1694991
## 24  -22.4219517
## 25  -15.6529331
## 26  -22.0029051
## 27  -24.3298720
## 28  -22.5555271
## 29  -18.0203277
## 30  -31.5075760
## 31  -26.3033732
## 32  -24.2663614
## 33  -24.6468144
## 34  -15.7488516
## 35   -5.6414291
## 36   -1.9354642
## 37   11.5635303
## 38   36.0259909
## 39   53.5728802
## 40   73.4477193

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:-E1) %>% 
  filter(Ciclos>= 15)
Curvas_amplif2
##            H1 Ciclos      Manuel    Regina      Marian     Ricardo         Neto
## 1   -7.328834     15  -1.0480298  20.69706    6.848128    2.697263   -1.4239648
## 2   -5.896188     16  -0.9978187  17.21931   25.497493    3.717395   -1.6814489
## 3   -2.466061     17   3.0478430  33.89198   44.962192   15.476855   -6.3953409
## 4   -4.228410     18  -1.8983324  49.59152   82.211793   31.127136   -6.7847709
## 5   -9.537935     19  -4.9114141  84.61467  151.428901   56.148995   -7.3590715
## 6  -13.114359     20  -6.3738257 118.12521  241.203972   92.594301   -4.6466738
## 7  -10.604195     21  -8.7552252 172.36492  412.610834  174.400241   -5.3907238
## 8  -12.733847     22  -4.1051973 232.46634  623.381413  265.355085   -7.5022804
## 9  -11.169499     23   2.2403730 301.18718  885.875465  390.596200   -7.0895472
## 10 -22.421952     24  -2.4026281 371.96729 1180.035009  525.778467   -7.9263438
## 11 -15.652933     25  -1.7353687 447.79468 1483.334195  675.436989   -1.2438599
## 12 -22.002905     26   2.7039360 519.08713 1770.912528  831.339011    4.2028195
## 13 -24.329872     27   7.3410221 589.92423 2030.790760  993.848820   -0.5241759
## 14 -22.555527     28  31.1168906 655.68730 2254.289193 1149.133625    7.6437916
## 15 -18.020328     29  60.5305504 710.95672 2432.684639 1292.469880   11.5259657
## 16 -31.507576     30 101.5649836 754.25548 2572.531434 1416.466006   13.9227662
## 17 -26.303373     31 147.5153188 788.72150 2674.276760 1522.480494   32.0145518
## 18 -24.266361     32 198.3025345 817.20224 2747.874914 1611.591266   40.0374699
## 19 -24.646814     33 262.0854221 835.81143 2797.441130 1682.439609   74.8234689
## 20 -15.748852     34 332.4228470 848.61548 2829.336180 1737.199324  115.4316139
## 21  -5.641429     35 406.9492803 853.51959 2850.540322 1772.267856  191.2276918
## 22  -1.935464     36 488.1221868 860.07558 2861.811412 1793.552776  294.7195498
## 23  11.563530     37 572.4151303 857.45177 2869.012419 1805.180355  456.9145421
## 24  36.025991     38 658.3116161 856.09021 2871.346045 1814.911620  640.1365760
## 25  53.572880     39 743.0515640 849.76397 2872.610282 1821.746415  846.7123183
## 26  73.447719     40 825.0751987 843.73105 2871.854438 1827.323863 1061.2097820
##         Johan
## 1   -7.328834
## 2   -5.896188
## 3   -2.466061
## 4   -4.228410
## 5   -9.537935
## 6  -13.114359
## 7  -10.604195
## 8  -12.733847
## 9  -11.169499
## 10 -22.421952
## 11 -15.652933
## 12 -22.002905
## 13 -24.329872
## 14 -22.555527
## 15 -18.020328
## 16 -31.507576
## 17 -26.303373
## 18 -24.266361
## 19 -24.646814
## 20 -15.748852
## 21  -5.641429
## 22  -1.935464
## 23  11.563530
## 24  36.025991
## 25  53.572880
## 26  73.447719

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

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

Grafica

Grafica_amplif <- ggplot(data = Curvas_amplif3,
                         mapping = aes(x=Ciclos,
                                       y=Fluorescencia,
                                         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.
Grafica_amplif

Mejorar la grafica

Umbral_ciclos <- 100
Grafica_amplif2 <- Grafica_amplif + 
  geom_hline(yintercept = Umbral_ciclos, linetype="dashed", color="red")+
theme_classic()+
labs(title = "Curvas de amplificación RT-qPCR",
     subtitle = "Todas las muestras",
     caption = "Diseño:Equipo 1",
     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))
## 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,
                                    y=Regina))+
  geom_line(linewidth=1.2, color="pink")+ 
  geom_hline(yintercept = Umbral_ciclos, linetype="dashed", color="red")+
theme_classic()+
labs(title = "Curvas de amplificación RT-qPCR",
     subtitle = "Todas las muestras",
     caption = "Diseño:Equipo 1",
     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))+
  geom_line(aes(x=Ciclos,
                y=Manuel),
            color="blue",
            linewidth=1.2)
Grafica_amplif_equipo

library(ggplot2)
library(tidyr)

# Transformar los datos al formato largo
Curvas_amplif_long <- Curvas_amplif2 %>%
  pivot_longer(cols = c(Regina, Manuel), 
               names_to = "Muestra", 
               values_to = "Fluorescencia")

Umbral_ciclos <- 100

Grafica_amplif_equipo <- ggplot(Curvas_amplif_long, aes(x = Ciclos, y = Fluorescencia, color = Muestra)) +
  geom_line(linewidth = 1.2) +
  geom_hline(yintercept = Umbral_ciclos, linetype = "dashed", color = "red") +
  theme_classic() +
  labs(title = "Curvas de amplificación RT-qPCR",
       subtitle = "Todas las muestras",
       caption = "Diseño: Equipo 1",
       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_amplif2$Ciclos),
                                  max(Curvas_amplif2$Ciclos),
                                  by = 2)) +
  scale_color_manual(values = c("Regina" = "pink", "Manuel" = "blue"))

print(Grafica_amplif_equipo)