Je crée un réseau bayésien en utilisant le paquet gRain dans R. Lorsque j'essaie de compiler les tables de probabilités conditionnelles, j'obtiens l'erreur 'Les dimensions de la table ne correspondent pas'. La table en question prend la forme A | B, où A peut prendre trois valeurs possibles et B peut en prendre deux. J'ai entré un total de 12 valeurs dans la définition de cptable basée sur les six combinaisons possibles. Toute aide serait très appréciée car j'ai vérifié et recherché en vain et ne peux pas voir ce qui ne va pas. C'est mon code.R g Erreur d'erreur - les dimensions de la table ne correspondent pas
# define levels
lh <- c("low", "high")
lmh <- c("low", "medium", "high")
# specify the conditional probability tables
eh <- cptable(~eh, values=c(0.2, 0.8), levels=lh)
inf.oil.eh <- cptable(~inf | oil:eh, values = c(0.9, 0.1, 0.1, 0.9, 0.1, 0.9, 0.01, 0.99), levels=lh)
bp.oil <- cptable(~bp | oil, values=c(0.9, 0.1, 0.1, 0.9, 0, 1, 0.1, 0.9, 0.4, 0.6, 0.5, 0.5), levels=lmh)
oil.eh <- cptable(~oil | eh, values=c(0.9, 0.1, 0.05, 0.95), levels=lh)
rt.inf.eh <-cptable(~rt | inf:eh, values=c(0.9, 0.1, 0.1, 0.9, 0.1, 0.9, 0.01, 0.99), levels=lh)
# compile the tables
plist <- compileCPT(list(eh, oil.eh, inf.oil.eh, bp.oil, rt.inf.eh))
L'erreur est la suivante:
Error for v,pa(v): bp, oil
List of 2
$ bp : chr [1:3] "low" "medium" "high"
$ oil: chr [1:2] "low" "high"
num [1:12] 0.9 0.1 0.1 0.9 0 1 0.1 0.9 0.4 0.6 ...
Error in compileCPT(list(eh, oil.eh, inf.oil.eh, bp.oil, rt.inf.eh)) :
Table dimensions do not match!
Merci Harald - je commençais à me habituer à ajouter dans les paires de p, 1-p pour les variables deux valeurs et a fait la même chose ici! – Kate