# Load packages
library(bayesrules)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(janitor)
## 
## Attaching package: 'janitor'
## 
## The following objects are masked from 'package:stats':
## 
##     chisq.test, fisher.test
library(psych)
## 
## Attaching package: 'psych'
## 
## The following objects are masked from 'package:ggplot2':
## 
##     %+%, alpha
#Simulación con muestra tamaño n de árboles infectados 
#y no infectados para las probabilidades a priori correspondientes

set.seed(1384)
n <- 10000
prior <- c(0.18, 0.82)

Infected <- c("Yes","No")
Infected_data <- data.frame(Infected)

Infected_data_sim<-sample_n(Infected_data,weight = prior, size = n, replace = TRUE)

#Conteo y porcentaje de categorías de árboles infectados (Yes , No) 
Infected_data_sim %>% 
  tabyl(Infected) %>% 
  adorn_totals("row")

El porcentaje de árboles infectados es 0.178 para el total de la muestra realizada.

#Gráfico de barras en el total de la muestra infectados y no infectados
ggplot(Infected_data_sim, aes(x = Infected)) + 
  geom_bar()

#Separamos la muestra por infectados (Yes) y no infectados (No)

#Infectados
Infected_data_sim_Yes <- Infected_data_sim[Infected_data_sim$Infected == "Yes", ]
Infected_data_sim_Yes <- data.frame(Infected_data_sim_Yes)

#No infectados
Infected_data_sim_No <- Infected_data_sim[Infected_data_sim$Infected == "No", ]
Infected_data_sim_No <- data.frame(Infected_data_sim_No)

#Simulación de tipos de árboles para el caso de infectados y no infectados
Tree_data <- c("Elms","Maples","Other")
Tree_data <- data.frame(Tree_data)

#Simulación para muestra de infectados probabilidades de seleccionar cada tipo de árbol dado que está infectado
n_Yes = nrow(Infected_data_sim_Yes)
Cond_prob_Yes <- c(0.15, 0.8, 0.05)

Tree_data_sim_Yes<-sample_n(Tree_data,weight = Cond_prob_Yes, size = n_Yes, replace = TRUE)

# conteo y porcentaje dentro de los infectados de categorías de árboles (Elms , Maples, Other) 
Tree_data_sim_Yes %>% 
  tabyl(Tree_data) %>% 
  adorn_totals("row")
#Simulación para muestra de no infectados

#probabilidades de seleccionar cada tipo de árbol dado que no está infectado
n_No = nrow(Infected_data_sim_No)
Cond_prob_No <- c(0.2, 0.1, 0.7)

Tree_data_sim_No <-sample_n(Tree_data,weight = Cond_prob_No, size = n_No, replace = TRUE)

# conteo y porcentaje dentro de los no infectados de categorías de árboles (Elms , Maples, Other) 
Tree_data_sim_No %>% 
  tabyl(Tree_data) %>% 
  adorn_totals("row")
#Solamente nos va a interesar el tipo de árbol maples, extraemos los datos simulados para esta categoría

#Maples Infectados
Maples_data_sim_Yes <- Tree_data_sim_Yes[Tree_data_sim_Yes$ Tree_data == "Maples", ]
Maples_data_sim_Yes <- data.frame(Maples_data_sim_Yes)

#Maples No Infectados
Maples_data_sim_No <- Tree_data_sim_No[Tree_data_sim_No$ Tree_data == "Maples", ]
Maples_data_sim_No <- data.frame(Maples_data_sim_No)

#union de datos para Maples infectados
n_maples_Yes <- nrow(Maples_data_sim_Yes)
Infected_maples_Yes <- rep("Yes",n_maples_Yes)
Maples_datafull_sim_Yes <- data.frame(Maples_data_sim_Yes,Infected_maples_Yes)
colnames(Maples_datafull_sim_Yes)[1] <-"Tree"
colnames(Maples_datafull_sim_Yes)[2] <-"Infected"

#union de datos para Mpales no infectados
n_maples_No <- nrow(Maples_data_sim_No)
Infected_maples_No <- rep("No",n_maples_No)
Maples_datafull_sim_No <- data.frame(Maples_data_sim_No,Infected_maples_No)
colnames(Maples_datafull_sim_No)[1] <-"Tree"
colnames(Maples_datafull_sim_No)[2] <-"Infected"

#union de datos de simulación de Maples Tree infectados y no infectados
Maples_sim = rbind(Maples_datafull_sim_Yes,Maples_datafull_sim_No)
Maples_sim %>% 
  tabyl(Infected) %>% 
  adorn_totals("row")

El porcentaje de árboles infectados dentro de la especie “Maples” es 0.6338216 para la muestra realizada.

#Gráfico de barras de Maples Tree infectados y no infectados
ggplot(Maples_sim, aes(x = Infected)) + 
  geom_bar()