knitr::opts_chunk$set(echo = TRUE)

1. CÁLCULO MATEMÁTICO DEL TEOREMA DE BAYES

Definimos las probabilidades de cada marca

P_A <- 0.40
P_B <- 0.35
P_C <- 0.25

Definimos las probabilidades de falla por cada marca

P_F_A <- 0.02
P_F_B <- 0.04
P_F_C <- 0.05

Calculamos la probabilidad total de que ocurra una falla

P_Falla <- (P_A * P_F_A) + (P_B * P_F_B) + (P_C * P_F_C)

Aplicamos la fórmula del Teorema de Bayes para la Marca C

P_C_dado_Falla <- (P_C * P_F_C) / P_Falla

Imprimimos el resultado exacto a 4 decimales

cat("==========================================\n")
## ==========================================
cat("RESULTADO DEL TEOREMA DE BAYES:\n")
## RESULTADO DEL TEOREMA DE BAYES:
cat("La probabilidad de que el variador fallado sea de la Marca C es:\n")
## La probabilidad de que el variador fallado sea de la Marca C es:
cat(sprintf("%.4f", P_C_dado_Falla), "\n")
## 0.3623
cat("==========================================\n\n")
## ==========================================

2. GENERACIÓN DEL ÁRBOL DE PROBABILIDADES

library(DiagrammeR)
grViz("digraph tree {graph [layout = dot, rankdir = LR]
  node [shape = box, style = filled, fillcolor = '#E6F3FF', fontname = Helvetica]
  
  Planta [label = 'Planta de\nVariadores']
  
  Marca_A [label = 'Marca A\n(40%)']
  Marca_B [label = 'Marca B\n(35%)']
  Marca_C [label = 'Marca C\n(25%)']
  
  Falla_A [label = 'Falla (2%)', fillcolor = '#FFCCCC']
  Optimo_A [label = 'Óptimo (98%)', fillcolor = '#CCFFCC']
  
  Falla_B [label = 'Falla (4%)', fillcolor = '#FFCCCC']
  Optimo_B [label = 'Óptimo (96%)', fillcolor = '#CCFFCC']
  
  Falla_C [label = 'Falla (5%)', fillcolor = '#FFCCCC']
  Optimo_C [label = 'Óptimo (95%)', fillcolor = '#CCFFCC']
  
  Planta -> Marca_A [label = ' 0.40']
  Planta -> Marca_B [label = ' 0.35']
  Planta -> Marca_C [label = ' 0.25']
  
  Marca_A -> Falla_A [label = ' 0.02']
  Marca_A -> Optimo_A [label = ' 0.98']
  
  Marca_B -> Falla_B [label = ' 0.04']
  Marca_B -> Optimo_B [label = ' 0.96']
  
  Marca_C -> Falla_C [label = ' 0.05']
  Marca_C -> Optimo_C [label = ' 0.95']}")