R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

# Definimos los cuatro estimadores en función de los valores X1, X2, X3, X4
estimador_1 <- function(X1, X2, X3, X4) {
  (X1 + X2) / 6 + (X3 + X4) / 3
}

estimador_2 <- function(X1, X2, X3, X4) {
  (X1 + 2*X2 + 3*X3 + 4*X4) / 5
}

estimador_3 <- function(X1, X2, X3, X4) {
  (X1 + X2 + X3 + X4) / 4
}

estimador_4 <- function(X1, X2, X3, X4) {
  (min(c(X1, X2, X3, X4)) + max(c(X1, X2, X3, X4))) / 2
}
set.seed(123)  # Para asegurar reproducibilidad
theta <- 2  # Supuesto valor del parámetro

# Función para generar muestras de tamaño n y calcular los estimadores
generar_muestras <- function(n, theta) {
  muestras <- matrix(rexp(4 * n, rate = 1/theta), ncol = 4)
  
  estimadores <- data.frame(
    theta_1 = apply(muestras, 1, function(x) estimador_1(x[1], x[2], x[3], x[4])),
    theta_2 = apply(muestras, 1, function(x) estimador_2(x[1], x[2], x[3], x[4])),
    theta_3 = apply(muestras, 1, function(x) estimador_3(x[1], x[2], x[3], x[4])),
    theta_4 = apply(muestras, 1, function(x) estimador_4(x[1], x[2], x[3], x[4]))
  )
  
  return(estimadores)
}
# Simular muestras de diferentes tamaños
n_values <- c(20, 50, 100, 1000)
resultados <- lapply(n_values, generar_muestras, theta = theta)

# Calcular las medias y varianzas para cada estimador
resumen_resultados <- function(resultados, n) {
  data.frame(
    Estimador = c("theta_1", "theta_2", "theta_3", "theta_4"),
    Media = colMeans(resultados),
    Varianza = apply(resultados, 2, var),
    n = n
  )
}

# Crear un resumen para cada tamaño de muestra
resumen <- do.call(rbind, lapply(1:length(n_values), function(i) {
  resumen_resultados(resultados[[i]], n_values[i])
}))
# Crear boxplots para cada estimador
par(mfrow = c(2, 2))  # Para mostrar múltiples gráficos
for(i in 1:4) {
  boxplot(resultados[[4]][, i], main = paste("Estimador theta_", i), ylab = "Valor", col = "lightblue")
}