# 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()