Lee cuidadosamente este caso de estudio y cópialo en R, ya que una vez que avances no podrÔs volver a este texto y es necesario para contestar las preguntas siguientes.

Este caso de estudio debe ser cuidadosamente documentado en R, ya que la información proporcionada serÔ esencial para responder preguntas y realizar anÔlisis posteriores sobre la efectividad de las políticas de prevención de crímenes de odio en el estado analizado.

Imaginemos un estudio de caso enfocado en la dinÔmica poblacional y los crímenes de odio dentro de una región ficticia. Este escenario servirÔ para comprender el impacto potencial de las políticas de prevención en la incidencia de tales crímenes a lo largo del tiempo. El objetivo es simular cómo diferentes enfoques pueden influir en la reducción de los crímenes de odio mediante la implementación de políticas públicas específicas.

Para realizar este anÔlisis, es crucial considerar el último dígito de tu número de matrícula como variable [X] para determinar ciertos parÔmetros iniciales en la simulación. Este número [X] ajustarÔ los valores iniciales relacionados con la población y la incidencia de crímenes de odio en diferentes zonas de un estado. Por ejemplo, si tu matrícula es A0012345, el 5 sustituirÔ a los valores faltantes en el problema [X], si tu matrícula es A0012540, el 0 sustituirÔ a los valores faltantes en el problema [X].

MI MATRICULA: A01470362 X=2

El estado estÔ dividido en tres zonas principales: urbanas, suburbanas y rurales. La población se distribuye de la siguiente manera: inicialmente tenemos [X+2] millones en zonas urbanas, [X+4] millones en zonas suburbanas y [X+1] millones en zonas rurales. Para simplificar el modelo consideremos que no existen muertes ni nacimientos en las poblaciones establecidas.

La incidencia inicial de crímenes de odio se establece en 100 en zonas urbanas, 50 en zonas suburbanas y 200 en zonas rurales. Se espera que los crímenes de odio se incrementen a una tasa de 10 crímenes por cada millón de habitantes.

A partir de que se implementa una política pública esta tiene un período de 10 años para ver resultados de efectividad en la reducción de los crímenes de odio. Anualmente, se espera que la incidencia de crímenes de odio disminuya un 5% en zonas urbanas, 7% en zonas suburbanas y 10% en zonas rurales, gracias a la implementación efectiva de las políticas de prevención.

Las políticas de prevención incluyen programas de educación y sensibilización que incrementan la eficacia de la reducción de crímenes de odio. Este modelo debe ejecutarse a lo largo de un período de 50 años y ver su desarrollo cada 3 meses, la variable relevante a analizar es total de crímenes de odio en el estado (ademÔs de las variables de estado y flujo que determines).

library("deSolve")

# Definición de la función de crímenes de odio
crimenes.odio <- function(t, state, parameters) {
  with(as.list(c(state, parameters)), {
    
    # Variables de flujo
    # Crímenes de odio aumentan en función de la población y tasa de incidencia
    crimenes_urbanos <- (tasa.incidente * P_urban)
    crimenes_suburbanos <- (tasa.incidente * P_suburban)
    crimenes_rurales <- (tasa.incidente * P_rural)
    
    # Variables de reducción debido a las políticas públicas
    # Tasas de reducción por política implementada
    reduccion_urban <- crimenes_urbanos * tasa_reduccion_urban
    reduccion_suburban <- crimenes_suburbanos * tasa_reduccion_suburban
    reduccion_rural <- crimenes_rurales * tasa_reduccion_rural
    
    # Actualización de las variables de crímenes de odio en cada zona
    dcrimenes_urbanos <- crimenes_urbanos - reduccion_urban
    dcrimenes_suburbanos <- crimenes_suburbanos - reduccion_suburban
    dcrimenes_rurales <- crimenes_rurales - reduccion_rural
    
    # Derivadas de las poblaciones (sin cambios, ya que no estamos modelando natalidad o muerte)
    dpoblacion_urban <- 0
    dpoblacion_suburban <- 0
    dpoblacion_rural <- 0

    # Retorno de las derivadas: 6 derivadas en total
    list(c(dpoblacion_urban, dpoblacion_suburban, dpoblacion_rural, 
           dcrimenes_urbanos, dcrimenes_suburbanos, dcrimenes_rurales))
  })
}

# ParƔmetros del modelo
parameters <- c(
  tasa.incidente = 10 / 1000000, # Crímenes por millón de habitantes por año
  tasa_reduccion_urban = 0.05, # 5% de reducción en zonas urbanas
  tasa_reduccion_suburban = 0.07, # 7% de reducción en zonas suburbanas
  tasa_reduccion_rural = 0.10 # 10% de reducción en zonas rurales
)

# Condiciones iniciales (6 variables: 3 de población y 3 de crímenes de odio)
InitialConditions <- c(
  P_urban = (2 + 2)*1000000, # Población inicial en zonas urbanas
  P_suburban = (2 + 4)*1000000, # Población inicial en zonas suburbanas
  P_rural = (2 + 1) * 1000000, # Población inicial en zonas rurales
  crimenes_urbanos = 100, # CrĆ­menes iniciales en zonas urbanas
  crimenes_suburbanos = 50, # CrĆ­menes iniciales en zonas suburbanas
  crimenes_rurales = 200 # CrĆ­menes iniciales en zonas rurales
)

# Intervalo de tiempo (50 aƱos * 4 trimestres por aƱo)
times <- seq(0, 50 * 4, by = 1) # AƱo en trimestres

# Método de integración
intg.method <- c("rk4")

# Solución usando la función 'ode' de deSolve
out <- ode(y = InitialConditions,
           times = times,
           func = crimenes.odio,
           parms = parameters,
           method = intg.method)

# Graficar los resultados
library(ggplot2)
output_df <- as.data.frame(out)

ggplot(output_df, aes(x = time)) +
  geom_line(aes(y = crimenes_urbanos, color = "CrĆ­menes Urbanos"), size = 1) +
  geom_line(aes(y = crimenes_suburbanos, color = "CrĆ­menes Suburbanos"), size = 1) +
  geom_line(aes(y = crimenes_rurales, color = "CrĆ­menes Rurales"), size = 1) +
  labs(
    title = "Simulación de Crímenes de Odio a lo Largo del Tiempo",
    x = "PerĆ­odo (trimestres)",
    y = "Total de CrĆ­menes de Odio",
    color = "Leyenda"
  ) +
  theme_minimal() +
  theme(legend.position = "bottom")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

De acuerdo al resultado de nuestra grafica, este modelo presenta una tendencia exponencial en cuanto a la cantidad de crimenes por región.