#Ejercicio 6.1 (Ty)

# Datos
arboles <- data.frame(
arbol = 1:12,
area_basal = c(0.3, 0.5, 0.4, 0.9, 0.7, 0.2, 0.6, 0.5, 0.8, 0.4, 0.8, 0.6),
volumen = c(6, 9, 7, 19, 15, 5, 12, 9, 20, 9, 18, 13)
)

# áreas basales y los volúmenes
suma_area_basal <- sum(arboles$area_basal)
suma_volumen <- sum(arboles$volumen)

# Estimador de razón
r <- suma_volumen / suma_area_basal # yi/xi

# Volumen total estimado
N <- 250  # Número total de parcelas en el bosque
n <- 12   # Número de parcelas muestreadas
Tx <- 75   # Área total del bosque

volumen_total_estimado <- r * Tx

# Calculo de (y_i - r * x_i)^2
arboles$dif_cuadrado <- (arboles$volumen - r * arboles$area_basal)^2

# Suma de los cuadrados de las diferencias
suma_dif_cuadrado <- sum(arboles$dif_cuadrado)

# Varianza estimada de r
varianza_r <- (N - n) / (n * N) * (1 / (Tx / N)^2) * (suma_dif_cuadrado / (n - 1))

# Varianza estimada de \hat{\tau}_y
varianza_volumen_total <- Tx^2 * varianza_r

# Límite para el error de estimación
limite_error_estimacion <- 2 * sqrt(varianza_volumen_total)

# Resultados
cat("Volumen total estimado:", volumen_total_estimado, "pies cubicos\n")
## Volumen total estimado: 1589.552 pies cubicos
cat("Límite para el error de estimación:", limite_error_estimacion, "pies cubicos\n")
## Límite para el error de estimación: 186.3176 pies cubicos
#Ejercicio 6.2 (Ty)
  
# Datos de los árboles (Ejercicio 6.1)
arboles <- data.frame(
arbol = 1:12,
area_basal = c(0.3, 0.5, 0.4, 0.9, 0.7, 0.2, 0.6, 0.5, 0.8, 0.4, 0.8, 0.6),
volumen = c(6, 9, 7, 19, 15, 5, 12, 9, 20, 9, 18, 13)
  )

# Calculo de la media de los volúmenes muestrales
y_bar <- mean(arboles$volumen)

# Estimación del total de volumen usando Ny
N <- 250  # Número total de parcelas en el bosque
n <- 12   # Número de parcelas muestreadas

Ty_estimado <- y_bar * N

# varianza de la estimación de Ty
varianza_Ty <- N^2 * ((N - n) / (n * N)) * (sum((arboles$volumen - y_bar)^2) / (n - 1))

# Límite para el error de estimación
limite_error_estimacion <- 2 * sqrt(varianza_Ty)

# Resultados
cat("Estimación del total de volumen usando Ny:", Ty_estimado, "pies cúbicos\n")
## Estimación del total de volumen usando Ny: 2958.333 pies cúbicos
cat("Límite para el error de estimación:", limite_error_estimacion, "pies cúbicos\n")
## Límite para el error de estimación: 730.1342 pies cúbicos
#Ejercicio 6.3 (r)

# Datos de la encuesta
familias <- data.frame(
  familia = 1:14,
  ingreso = c(25100, 32200, 29600, 35000, 34400, 26500, 28700, 28200, 34600, 31700, 31500, 30700, 27700, 28500),
  gasto = c(3800, 5100, 4200, 6200, 5800, 4100, 3900, 3600, 3800, 4100, 4500, 5100, 4200, 4000)
)

# Razón muestral \hat_R
suma_gasto <- sum(familias$gasto)
suma_ingreso <- sum(familias$ingreso)
R_hat <- suma_gasto / suma_ingreso

# Varianza estimada de \hat_R
n <- nrow(familias)
N <- 150  # Número total de familias en la comunidad

# Calculo de las diferencias al cuadrado
familias$dif_cuadrado <- (familias$gasto - R_hat * familias$ingreso)^2
suma_dif_cuadrado <- sum(familias$dif_cuadrado)

# Calculo de la varianza de \hat{R}
varianza_R_hat <- (N - n) / (n * N) * (1 / (suma_ingreso / n)^2) * (suma_dif_cuadrado / (n - 1))

# Límite para el error de estimación
limite_error_estimacion <- 2 * sqrt(varianza_R_hat)

# Resultados 
cat("Estimación de la razón poblacional (R):", R_hat, "\n")
## Estimación de la razón poblacional (R): 0.1470311
cat("Límite para el error de estimación:", limite_error_estimacion, "\n")
## Límite para el error de estimación: 0.01004947
#Ejercicio 6.4 (Ty)

# Datos de la encuesta
datos <- data.frame(
  oficina = 1:13,
  x = c(550, 720, 1500, 1020, 620, 980, 928, 1200, 1350, 1750, 670, 729, 1530),
  y = c(610, 780, 1600, 1030, 600, 1050, 977, 1440, 1570, 2210, 980, 865, 1710)
)

# Razón muestral \hat{R}
suma_y <- sum(datos$y)
suma_x <- sum(datos$x)
R_hat <- suma_y / suma_x


# Total de ganancias del año anterior
T_x <- 128200

# Estimar el total de ganancias T_y
T_y_hat <- R_hat * T_x

Miux <- T_x/N

Miux2 <- Miux^2


# Calcular la varianza estimada de T_y
n <- 13
N <- 123  # Número total de oficinas en la corporación

# Calcular las diferencias al cuadrado
datos$dif_cuadrado <- (datos$y - R_hat * datos$x)^2
suma_dif_cuadrado <- sum(datos$dif_cuadrado)


# Calcular la varianza de T_y
varianza_T_y_hat <- (N - n) / (n * N) * T_x^2 * (1 / (suma_x / n)^2) * (suma_dif_cuadrado / (n - 1))

# Calcular el límite para el error de estimación
limite_error_estimacion <- 2 * sqrt(varianza_T_y_hat)

# Resultados 
cat("Estimación del total de ganancias (T_y):", T_y_hat, "\n")
## Estimación del total de ganancias (T_y): 145943.8
cat("Límite para el error de estimación:", limite_error_estimacion, "\n")
## Límite para el error de estimación: 7355.076
#Ejercicio 6.5 (μy)


# Datos de la encuesta
datos <- data.frame(
  oficina = 1:13,
  x = c(550, 720, 1500, 1020, 620, 980, 928, 1200, 1350, 1750, 670, 729, 1530),
  y = c(610, 780, 1600, 1030, 600, 1050, 977, 1440, 1570, 2210, 980, 865, 1710)
)

# Número total de oficinas en la corporación
N <- 123

# Total de ganancias del año anterior
T_x <- 128200

# Calcular la razón muestral \hat{R}
suma_y <- sum(datos$y)
suma_x <- sum(datos$x)
R_hat <- suma_y / suma_x


Miux <- T_x/N

Miux2 <- Miux^2

# Calcular las diferencias al cuadrado
datos$dif_cuadrado <- (datos$y - R_hat * datos$x)^2
suma_dif_cuadrado <- sum(datos$dif_cuadrado)


# Número de oficinas en la muestra
n <- nrow(datos)

# Calcular la media muestral de las ganancias
media_y_muestral <- mean(datos$y)

# Calcular la varianza muestral de las ganancias
varianza_y_muestral <- var(datos$y)

# Estimar la varianza de la media muestral

varianza_media_y <- (N - n) / (n * N) * Miux2 * (1 / (suma_x / n)^2) * (suma_dif_cuadrado / (n - 1))


# Calcular el límite para el error de estimación
limite_error_estimacion <- 2 * sqrt(varianza_media_y)

# Resultados finales
cat("Estimación de las ganancias medias:", media_y_muestral, "\n")
## Estimación de las ganancias medias: 1186.308
cat("Límite para el error de estimación:", limite_error_estimacion, "\n")
## Límite para el error de estimación: 59.79736
#Ejercicio 6.6 (μy)


# Datos
x <- c(14.3, 15.7, 17.8, 17.5, 13.2, 18.8, 17.6, 14.3, 14.9, 17.9, 19.2)
y <- c(15.2, 16.1, 18.1, 17.6, 14.5, 19.4, 17.5, 14.1, 15.2, 18.1, 19.5)


# Tamaño de la muestra y de la población
n <- length(x)
N <- 100  # Supongamos que el tamaño de la población es 100

# Sumas
sum_x <- sum(x)
sum_y <- sum(y)

# Estimador de razón
R_hat <- sum_y / sum_x

# Tiempo promedio con el fármaco tipo
mu_x <- 17.2

# Estimación del tiempo promedio con el nuevo fármaco
mu_y_hat <- R_hat * mu_x

# Calcular el término dentro de la raíz para la varianza estimada
sum_squared_diff <- sum((y - R_hat * x)^2)

# Varianza estimada de mu_y_hat
V_hat_mu_y_hat <- (mu_x^2 * (N - n) / (n * N)) * (sum_squared_diff / ((n - 1) * mu_x^2))

# Límite para el error de estimación
error_limit <- 2 * sqrt(V_hat_mu_y_hat)

# Mostrar resultados
cat("Estimador de razón (R_hat):", R_hat, "\n")
## Estimador de razón (R_hat): 1.022627
cat("Estimación del tiempo promedio con el nuevo fármaco (mu_y_hat):", mu_y_hat, "segundos\n")
## Estimación del tiempo promedio con el nuevo fármaco (mu_y_hat): 17.58918 segundos
cat("Varianza estimada de mu_y_hat (V_hat_mu_y_hat):", V_hat_mu_y_hat, "\n")
## Varianza estimada de mu_y_hat (V_hat_mu_y_hat): 0.0165817
cat("Límite para el error de estimación:", error_limit, "\n")
## Límite para el error de estimación: 0.2575399
#Ejercicio 6.7 (μy)

  # Datos
  conejo <- 1:10
x <- c(3.2, 3.0, 2.9, 2.8, 2.8, 3.1, 3.0, 3.2, 2.9, 2.8)
y <- c(4.1, 4.0, 4.1, 3.9, 3.7, 4.1, 4.2, 4.1, 3.9, 3.8)

# Tamaño de la muestra y de la población
n <- length(x)
N <- 100  # Tamaño de la población

# Sumas
sum_x <- sum(x)
sum_y <- sum(y)

# Estimador de razón
R_hat <- sum_y / sum_x

# Peso promedio original
mu_x <- 3.1

# Estimación del peso promedio actual
mu_y_hat <- R_hat * mu_x

# Calcular el término dentro de la raíz para la varianza estimada
sum_squared_diff <- sum((y - R_hat * x)^2)

# Varianza estimada de mu_y_hat
V_hat_mu_y_hat <- (mu_x^2 * (N - n) / (n * N)) * (sum_squared_diff / ((n - 1) * mu_x^2))

# Límite para el error de estimación
error_limit <- 2 * sqrt(V_hat_mu_y_hat)

# Mostrar resultados
cat("Estimador de razón (R_hat):", R_hat, "\n")
## Estimador de razón (R_hat): 1.343434
cat("Estimación del peso promedio actual (mu_y_hat):", mu_y_hat, "libras\n")
## Estimación del peso promedio actual (mu_y_hat): 4.164646 libras
cat("Varianza estimada de mu_y_hat (V_hat_mu_y_hat):", V_hat_mu_y_hat, "\n")
## Varianza estimada de mu_y_hat (V_hat_mu_y_hat): 0.001791572
cat("Límite para el error de estimación:", error_limit, "libras\n") 
## Límite para el error de estimación: 0.08465394 libras
#Ejercicio 6.8 (r)

# Datos 
n <- 25
N <- 275
x_bar <- 9.2
y_bar <- 2.6
sum_xi2 <- 2240
sum_xiyi <- 522
sum_yi2 <- 169

# Calcular la razón muestral
r <- y_bar / x_bar

# Calcular la varianza estimada del estimador de razón


varianza_r <- (N - n) / (n * N) * ( 1 / x_bar^2)* (sum_yi2 - 2 * r * sum_xiyi + r^2 * sum_xi2) / (n - 1)


# Calcular el límite para el error de estimación
limite_error_estimacion <- 2 * sqrt(varianza_r)

# Resultados finales
cat("Estimación de la razón del número promedio de cuartos con el número promedio de personas:", r, "\n")
## Estimación de la razón del número promedio de cuartos con el número promedio de personas: 0.2826087
cat("Límite para el error de estimación:", limite_error_estimacion, "\n")
## Límite para el error de estimación: 0.06152254
#ejercicio 6.9 (Ty)

# Datos proporcionados
n <- 10
N <- 200
T_x <- 4200
x_i <- c(12, 30, 24, 24, 18, 30, 12, 6, 36, 42)
y_i <- c(18, 42, 24, 36, 24, 36, 14, 10, 48, 54)

# Calcular la razón muestral
R_hat <- sum(y_i) / sum(x_i)

# Calcular la estimación del número total de abetos muertos
T_y_hat <- R_hat * T_x

# Calcular la varianza del estimador de razón
x_bar <- mean(x_i)
sum_yi2 <- sum(y_i^2)
sum_xiyi <- sum(x_i * y_i)
sum_xi2 <- sum(x_i^2)

varianza_R_hat <- (1 / n) * (1 / x_bar^2) * (sum_yi2 - 2 * R_hat * sum_xiyi + R_hat^2 * sum_xi2) * ((N - n) / N)

varianza_r <- (N - n) / (n * N) * ( 1 / x_bar^2)* (sum_yi2 - 2 * r * sum_xiyi + r^2 * sum_xi2) / (n - 1)


# Calcular el límite para el error de estimación
limite_error_estimacion <- 2 * sqrt(varianza_R_hat) * T_x

limite_error_estimacion <- 2 * sqrt(varianza_r) * T_x
# Resultados finales
cat("Estimación del número total de abetos muertos:", T_y_hat, "\n")
## Estimación del número total de abetos muertos: 5492.308
cat("Límite para el error de estimación:", limite_error_estimacion, "\n")
## Límite para el error de estimación: 3083.415
#Ejercicio 6.10 (r)

# Datos de salarios
salarios_pasado <- c(15400, 16700, 17792, 19956, 16355, 15108, 17891, 15216, 15416, 15397, 18152, 16436, 19192, 17006, 17311)
salarios_presente <- c(16500, 17600, 18920, 21400, 17020, 16308, 19100, 16320, 16420, 16600, 19560, 17750, 20800, 18300, 18920)

# Tamaño de la muestra y población
n <- length(salarios_pasado)  # n = 15
N <- 750  # Población total

# Calcular la razón muestral (cambio relativo R)
R_hat <- sum(salarios_presente) / sum(salarios_pasado)

# Calcular la media de salarios del pasado (x_bar)
x_bar <- mean(salarios_pasado)

# Cálculo de la varianza estimada del estimador de razón
sum_squared_diff <- sum((salarios_presente - R_hat * salarios_pasado)^2)

varianza_R_hat <- ((N - n) / (n * N)) * (1 / (x_bar^2)) * (sum_squared_diff / (n - 1))

# Límite para el error de estimación
limite_error_estimacion <- 2 * sqrt(varianza_R_hat)

# Resultados
cat("Estimación del cambio relativo (R):", R_hat, "\n")
## Estimación del cambio relativo (R): 1.071804
cat("Límite para el error de estimación:", limite_error_estimacion, "\n")
## Límite para el error de estimación: 0.006429494
#Ejercicio 6.11 (μy)


# Datos de pesos
pesos_previos <- c(815, 919, 690, 984, 200, 260, 1323, 1067, 789, 573, 834, 1049)
pesos_actuales <- c(897, 992, 752, 1093, 768, 828, 1428, 1152, 875, 642, 909, 1122)
  
# Tamaño de la muestra y población
n <- length(pesos_previos)  # n = 12
N <- 500  # Tamaño del rebaño
mu_x <- 880  # Promedio de pesos del estudio previo
Tx <- sum(pesos_previos)  # Suma de pesos previos
mu_x2 <- mu_x^2  # Cuadrado de la media poblacional

# Calcular la razón muestral (r)
r_hat <- sum(pesos_actuales) / sum(pesos_previos)

# Estimar el promedio del peso actual (μy)
mu_y_hat <- r_hat * mu_x

# Calcular la varianza estimada del estimador de razón usando μx y μx^2
sum_squared_diff <- sum((pesos_actuales - r_hat * pesos_previos)^2)

varianza_r <- (N - n) / (n * N) * (1 / mu_x2) * (sum_squared_diff / (n - 1))
varianza_mu_y_hat <- mu_x2 * varianza_r

# Calcular el límite para el error de estimación
limite_error_estimacion <- 2 * sqrt(varianza_mu_y_hat)

# Resultados
cat("Estimación del peso promedio actual (μy):", mu_y_hat, "\n")
## Estimación del peso promedio actual (μy): 1061.038
cat("Límite para el error de estimación:", limite_error_estimacion, "\n")
## Límite para el error de estimación: 139.9468
#Ejercicio 6.12 (Ty)
  
  # Datos de ventas
  ventas_antes <- c(208, 400, 440, 259, 351, 880, 273, 487, 183, 863, 599, 510, 828, 473, 924, 110, 829, 257, 388, 244)
ventas_actuales <- c(239, 428, 472, 276, 363, 942, 294, 514, 195, 897, 626, 538, 888, 510, 998, 171, 889, 265, 419, 257)

# Número total de tiendas, tamaño de muestra y total de ventas antes de la campaña
N <- 452
n <- length(ventas_actuales)
Tx <- 216256

# Cálculo del estimador de razón r
sum_y <- sum(ventas_actuales)
sum_x <- sum(ventas_antes)
r <- sum_y / sum_x

# Estimador del total poblacional Ty
Ty_hat <- r * Tx

# Cálculo de mu_x y mu_x^2
mu_x <- Tx / N
mu_x2 <- mu_x^2

# Cálculo de la varianza estimada de Ty_hat
var_Ty_hat <- (Tx^2) * ((N - n) / (n * N)) * (1 / mu_x2) * sum((ventas_actuales - r * ventas_antes)^2) / (n - 1)

# Límite para el error de estimación
limite_error <- 2 * sqrt(var_Ty_hat)

# Resultados
cat("Estimación del total de ventas (Ty_hat):", Ty_hat, "\n")
## Estimación del total de ventas (Ty_hat): 231611.9
cat("Límite para el error de estimación:", limite_error, "\n")
## Límite para el error de estimación: 3073.833
#Ejercicio 6.13 (n)
  
  # Datos de ventas
  ventas_antes <- c(208, 400, 440, 259, 351, 880, 273, 487, 183, 863, 599, 510, 828, 473, 924, 110, 829, 257, 388, 244)
ventas_actuales <- c(239, 428, 472, 276, 363, 942, 294, 514, 195, 897, 626, 538, 888, 510, 998, 171, 889, 265, 419, 257)

# Número total de tiendas, tamaño de muestra y total de ventas antes de la campaña
N <- 452
n <- length(ventas_actuales)
Tx <- 216256
B <- 3800  # Límite para el error de estimación

# Cálculo del estimador de razón r
sum_y <- sum(ventas_actuales)
sum_x <- sum(ventas_antes)
r <- sum_y / sum_x

# Cálculo de la varianza estimada de (y_i - r * x_i)
var_y_rx <- sum((ventas_actuales - r * ventas_antes)^2) / (n - 1)

# Cálculo de D
D <- (B^2) / (4 * N^2)

# Tamaño de muestra requerido (n)
n_requerido <- (N * var_y_rx) / (N * D + var_y_rx)

# Resultados
cat("Tamaño de muestra requerido para un límite de error de 3800 es:", ceiling(n_requerido), "\n")
## Tamaño de muestra requerido para un límite de error de 3800 es: 14