Instalación de paquetes #Pacman: llama a otros paquetes y si no estan los instala
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_abs <- vroom("https://raw.githubusercontent.com/ManuelLaraMVZ/Metabolomica_2026_1/refs/heads/main/Amplificacion_ambos%20grupos.csv")
## Rows: 51 Columns: 9
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (9): Cycle, 50 ng, 10 ng, 5 ng, 1 ng, 0.5 ng, 0.1 ng, G1-M, G2-M
##
## ℹ 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_abs
## # A tibble: 51 × 9
## Cycle `50 ng` `10 ng` `5 ng` `1 ng` `0.5 ng` `0.1 ng` `G1-M` `G2-M`
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 21.3 0.124 -2.25 2.06 -1.78 -2.32 22.1 -0.184
## 2 2 27.9 1.39 2.61 8.66 5.96 2.18 92.0 8.29
## 3 3 34.5 -0.660 11.4 12.2 5.94 2.34 132. 3.73
## 4 4 56.6 1.000 1.87 6.49 5.20 1.05 164. 3.20
## 5 5 65.2 -0.484 -1.18 1.77 -5.23 0.606 184. 0.557
## 6 6 72.3 1.44 -0.477 2.35 -0.958 4.81 214. 0.0300
## 7 7 89.1 -5.10 -3.87 -4.93 -3.60 -4.87 249. -7.37
## 8 8 101. -1.67 -3.52 -3.31 -2.34 0.403 277. -6.98
## 9 9 114. 2.66 5.35 -2.11 -1.40 -0.659 302. -3.63
## 10 10 123. 13.6 10.4 -5.98 2.27 1.13 332. -1.16
## # ℹ 41 more rows
Modificar columnas
Curvas_abs2 <- Curvas_abs %>%
rename(Ciclo = Cycle,
`50ng` = `50 ng`,
`10ng` = `10 ng`,
`5ng` = `5 ng`,
`1ng` = `1 ng`,
`0.5ng` = `0.5 ng`,
`0.1ng` = `0.1 ng`,
G1M = `G1-M`) %>%
select(-`G2-M`)
Curvas_abs2
## # A tibble: 51 × 8
## Ciclo `50ng` `10ng` `5ng` `1ng` `0.5ng` `0.1ng` G1M
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 21.3 0.124 -2.25 2.06 -1.78 -2.32 22.1
## 2 2 27.9 1.39 2.61 8.66 5.96 2.18 92.0
## 3 3 34.5 -0.660 11.4 12.2 5.94 2.34 132.
## 4 4 56.6 1.000 1.87 6.49 5.20 1.05 164.
## 5 5 65.2 -0.484 -1.18 1.77 -5.23 0.606 184.
## 6 6 72.3 1.44 -0.477 2.35 -0.958 4.81 214.
## 7 7 89.1 -5.10 -3.87 -4.93 -3.60 -4.87 249.
## 8 8 101. -1.67 -3.52 -3.31 -2.34 0.403 277.
## 9 9 114. 2.66 5.35 -2.11 -1.40 -0.659 302.
## 10 10 123. 13.6 10.4 -5.98 2.27 1.13 332.
## # ℹ 41 more rows
Reorganizar datos
Curvas_abs3 <- Curvas_abs2 %>%
pivot_longer(cols = -Ciclo,
names_to = "Muestras",
values_to = "Fluorescencia")
Curvas_abs3
## # A tibble: 357 × 3
## Ciclo Muestras Fluorescencia
## <dbl> <chr> <dbl>
## 1 1 50ng 21.3
## 2 1 10ng 0.124
## 3 1 5ng -2.25
## 4 1 1ng 2.06
## 5 1 0.5ng -1.78
## 6 1 0.1ng -2.32
## 7 1 G1M 22.1
## 8 2 50ng 27.9
## 9 2 10ng 1.39
## 10 2 5ng 2.61
## # ℹ 347 more rows
Gráfica de amplificación
# Definir umbral (ajusta según tus datos)
Umbral_ciclos <- 0.008
# Gráfica general (todas las muestras excepto G2-M)
Grafica_abs <- ggplot(Curvas_abs3,
aes(x = Ciclo,
y = Fluorescencia,
color = Muestras)) +
geom_line(linewidth = 1.5) +
geom_hline(yintercept = Umbral_ciclos, linetype = "dashed", color = "#581845") +
theme_classic() +
labs(title = "Curvas de amplificación valores absolutos",
subtitle = "Estándares y Muestra problema (G1M)",
caption = "Equipo: KAM",
x = "Ciclos",
y = "Fluorescencia (u.a.)") +
theme(axis.line = element_line(linewidth = 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_abs3$Ciclo),
max(Curvas_abs3$Ciclo),
by = 2)) +
coord_cartesian(ylim = c(0, 1300)) # ajusta el rango Y
Grafica_abs
Gráfica equipo KAM
# Definir umbral (ajusta según tus datos)
Umbral_ciclos <- 0.008
# Gráfica individual (solo 5 ng, todos los ciclos)
Grafica_abs_5ng <- ggplot(Curvas_abs2,
aes(x = Ciclo,
y = `5ng`)) +
geom_point(color = "#1e2f7c", size = 2) + # puntos para ver la curva
geom_line(color = "#1e2f7c", linewidth = 1.2) + # línea suave
geom_hline(yintercept = Umbral_ciclos, linetype = "dashed", color = "#581845") +
theme_classic() +
labs(title = "Curvas de amplificación valores absolutos",
subtitle = "Curva de Amplificación 5 ng",
caption = "Equipo: KAM",
x = "Ciclos",
y = "Fluorescencia (u.a.)") +
theme(axis.line = element_line(linewidth = 1.2, color = "black"),
axis.title = element_text(face = "bold"),
axis.text = element_text(face = "bold")) +
scale_x_continuous(breaks = seq(min(Curvas_abs2$Ciclo),
max(Curvas_abs2$Ciclo),
by = 5)) +
coord_cartesian(ylim = c(0, 800)) # rango Y ajustado para ver la curva completa
Grafica_abs_5ng