# # Rutinas para la ley de la probabilidad y el teorema de Bayes. # rm(list=ls()) totalprobcalc <- function(marg,cond){ # marg = (P(A_1),P(A_2),...P(A_k)) donde A_1,...,A_k forman una partición. # cond = (P(B|A_1), P(B|A_2), ..., P(B|A_k)) # p = P(B) = P(B|A_1)P(A_1) + ... + P(B|A_k)P(A_k) p <- sum(marg*cond) return(p) } bayescalc <- function(marg,cond){ # marg = (P(A_1),P(A_2),...P(A_k)) donde A_1,...,A_k forman una partición. # cond = (P(B|A_1), P(B|A_2), ..., P(B|A_k)) # p = (P(A_1|B), P(A_2|B), ..., P(A_k|B)) p <- sum(marg*cond) p <- marg*cond/p return(p) } # # Ejemplo # marg <- c(0.2,0.3,0.5) cond <- c(0.75,0.5,0.1) p <- totalprobcalc(marg,cond) p p <- bayescalc(marg,cond) p