#Estadística inferencial
#Variable cualitativa nominal:Zona
#Autor: Llumitasig Daniela
#Fecha: 10/06/2026
library(gt)
library(dplyr)
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(RColorBrewer)
datos <- read.csv("~/Estadistica/Proyecto 2026/Datos utilizados/city_day (1).csv",
header = TRUE,
dec = ".",
sep = ",")
Zona <- datos$Zona
# Tabla de distribución de frecuencia y probabilidades
TDF_Zona <- data.frame(table(Zona))
# Frecuencias y probabilidades
ni <- TDF_Zona$Freq
hi <- round((ni / sum(ni)) * 100, 2) # Frecuencia relativa porcentual
pi <- round((ni / sum(ni)) * 100, 2) # Probabilidad porcentual
Zona <- TDF_Zona$Zona
# Tabla final
TDF_Zona <- data.frame(Zona, ni, hi, pi)
# Fila TOTAL
Summary <- data.frame(
Zona = "TOTAL",
ni = sum(ni),
hi = 100,
pi = sum(pi)
)
TDF_Zona_suma <- rbind(TDF_Zona, Summary)
colnames(TDF_Zona_suma) <- c("Zona", "ni", "hi(%)", "Pi(%)")
TDF_Zona_suma
## Zona ni hi(%) Pi(%)
## 1 Centro 289 0.98 0.98
## 2 Este 7873 26.66 26.66
## 3 Oeste 21369 72.36 72.36
## 4 TOTAL 29531 100.00 100.00
TDF_Zona_suma %>%
gt() %>%
tab_header(
title = md("Tabla Nro. 1"),
subtitle = md("Distribución de frecuencias y probabilidades de la variable Zona para el análisis
estadístico de la calidad del aire en la India.")
) %>%
tab_source_note(
source_note = md("Autor: Grupo 1
\n Fuente:https://www.kaggle.com/datasets/rohanrao/air-quality-data-in-india ")
) %>%
# --- Estilos de Borde ---
tab_style(
style = cell_borders(sides = "left", color = "black", weight = px(2), style = "solid"),
locations = cells_body()
) %>%
tab_style(
style = cell_borders(sides = "right", color = "black", weight = px(2), style = "solid"),
locations = cells_body()
) %>%
tab_style(
style = cell_borders(sides = "left", color = "black", weight = px(2), style = "solid"),
locations = cells_column_labels()
) %>%
tab_style(
style = cell_borders(sides = "right", color = "black", weight = px(2), style = "solid"),
locations = cells_column_labels()
) %>%
# --- Opciones Generales de la Tabla ---
tab_options(
table.border.top.color = "black",
table.border.bottom.color = "black",
table.border.top.style = "solid",
table.border.bottom.style = "solid",
column_labels.border.top.color = "black",
column_labels.border.bottom.color = "black",
column_labels.border.bottom.width = px(2),
row.striping.include_table_body = TRUE,
heading.border.bottom.color = "black",
heading.border.bottom.width = px(2),
table_body.hlines.color = "gray",
table_body.border.bottom.color = "black"
)
| Tabla Nro. 1 | |||
| Distribución de frecuencias y probabilidades de la variable Zona para el análisis estadístico de la calidad del aire en la India. | |||
| Zona | ni | hi(%) | Pi(%) |
|---|---|---|---|
| Centro | 289 | 0.98 | 0.98 |
| Este | 7873 | 26.66 | 26.66 |
| Oeste | 21369 | 72.36 | 72.36 |
| TOTAL | 29531 | 100.00 | 100.00 |
| Autor: Grupo 1
Fuente:https://www.kaggle.com/datasets/rohanrao/air-quality-data-in-india |
|||
library(RColorBrewer)
# Colores suaves
n <- length(TDF_Zona$Zona)
colores <- brewer.pal(min(max(n,3), 8), "Set2")
par(mar = c(5,5, 5, 2))
# Crear gráfico
barplot(
TDF_Zona$hi,
# Etiquetas
names.arg = TDF_Zona$Zona,
# Títulos
main = "Gráfica Nro. 1\nDistribución de la variable Zona\npara el análisis estadístico de la calidad del aire en la India (2015-2020)",
# Diseño
col = colores,
border = "white",
# Escala
ylim = c(0, 100),
# Texto
las = 2,
cex.names = 0.9,
cex.main = 1,
cex.lab = 1,
# Barras
width = 0.7,
space = 0.3
)
title(xlab = "Zona", line = 4)
mtext(
"Probabilidad (%)",
side = 2,
line = 4
)
#¿Cuál es la probabilidad de que un registro seleccionado al azar pertenezca a la Zona Oeste?
x <- round((TDF_Zona$ni[TDF_Zona$`Zona`=="Oeste"] / 29531) * 100, 1)
x
## [1] 72.4
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "",
xlim = c(0,2), ylim = c(0,2))
text(
x = 1,
y = 1,
labels = paste(
"Cálculo de probabilidad\n",
"(Estimación general)\n\n",
"¿Cuál es la probabilidad de que un registro\n",
"seleccionado al azar pertenezca a la Zona Oeste?\n\n",
"R: Zona Oeste\n",
paste0("Probabilidad = ", x, " (%)"),
sep = ""
),
cex = 1.5,
font = 2
)
En conclusión:
La variable aleatoria Zona presenta un
comportamiento poblacional asociado a su frecuencia relativa. La
probabilidad de encontrar un registro en la Zona Oeste es del 72.4 %, de
acuerdo con la frecuencia relativa observada en la muestra.