# install.packages(c("readxl", "dplyr", "ggplot2", "DT")) # solo la primera vez
library(readxl)
library(dplyr)
library(ggplot2)
library(DT)
Al ejecutar este chunk (ver instrucciones abajo) se abrirá una
ventana para que selecciones manualmente el archivo
.xlsx.
ruta <- file.choose()
datos <- read_excel(ruta)
datos <- na.omit(datos)
cat("Total de registros originales:", nrow(datos), "\n")
## Total de registros originales: 47757
MUY IMPORTANTE — cómo correr este documento con
file.choose():El botón “Knit” NO sirve para este documento, porque Knit corre en una sesión de R separada que no puede abrir ventanas.
En vez de Knit, usa “Run All”:
- Ve al menú
Code → Run Region → Run All(o el atajoCtrl+Alt+Ren Windows/Linux,Cmd+Option+Ren Mac).- Cuando llegue al chunk
cargar_datos, se abrirá la ventana para que elijas tu archivo.xlsx.- Los resultados y gráficos van a aparecer debajo de cada chunk, dentro del mismo documento en RStudio.
Cada valor de YEARS_ACTIVE aparece una sola
vez (no se repite como 1, 1, 1…). Todos los valores de
CUMULATIVE_PRODUCTION que le corresponden se juntan en la
misma celda, separados por comas.
Ejemplo: si en CUMULATIVE_PRODUCTION
hay 2,2,3,4,5,5 y esos valores corresponden a
YEARS_ACTIVE = 3,3,4,5,6,6, la tabla queda así:
| YEARS_ACTIVE | CUMULATIVE_PRODUCTION |
|---|---|
| 3 | 2, 2 |
| 4 | 3 |
| 5 | 4 |
| 6 | 5, 5 |
condensado <- datos %>%
group_by(YEARS_ACTIVE) %>%
summarise(
CUMULATIVE_PRODUCTION = paste(CUMULATIVE_PRODUCTION, collapse = ", "),
.groups = "drop"
) %>%
arrange(YEARS_ACTIVE)
datatable(condensado, options = list(pageLength = 10))
write.csv(condensado, "tabla_condensada_por_anios.csv", row.names = FALSE)
nube_de_puntos <- ggplot(datos, aes(x = YEARS_ACTIVE, y = CUMULATIVE_PRODUCTION)) +
geom_point(alpha = 0.15, color = "steelblue", size = 1.5) +
geom_smooth(method = "lm", color = "red", se = FALSE, linewidth = 1) +
labs(
title = "Nube de Puntos: Años Activos vs Producción Acumulada",
x = "Años Activos",
y = "Producción Acumulada"
) +
theme_minimal(base_size = 13)
print(nube_de_puntos)
ggsave("nube_de_puntos.png", nube_de_puntos, width = 9, height = 6, dpi = 300)
cat("Listo. Se generaron los archivos:\n",
"- tabla_condensada_por_anios.csv\n",
"- nube_de_puntos.png\n")
## Listo. Se generaron los archivos:
## - tabla_condensada_por_anios.csv
## - nube_de_puntos.png