Je suis encore novice dans l'utilisation de R (seulement quelques mois), et j'essaie de construire un réseau bayésien (BN) pour mes recherches (biologie). J'ai déjà fait tout cela avec des variables discrètes, cependant, j'essaie maintenant d'intégrer continuellement, ce qui je sais peut être un problème. En ce moment je construis juste un BN à utiliser dans le paquet MoTBFs
pour construire un réseau hybride, en utilisant le paquet bnlearn
. Voici mes données:Erreur dans build.whitelist: étiquette de noeud inconnue présente dans la liste blanche
head(training)
Sample rs12913832 rs16891982 rs12203592 rs1800407 rs3829241 rs1805007 rs1408799 rs683 rs3737576
1 1078 CT GG GG CT GG CC GG TT TT
2 1254 TT CC GG CC GG CC AG GG TT
3 1285 CT GG GG CC GG CC GG TT TT
4 1308 CT GG GG CC AG CT AG GT TT
5 1382 CC GG GG CC AA CT AG GT TT
J'ai obtenu cette chaîne ci-dessous pour travailler comme je ne cible que quelques SNPs à partir des données ci-dessus:
bn.bayes.Leye<-mmhc(trainingmotbf2[,c(2:6,8,18,26)])
Cependant, il ne crée pas les arcs corrects , donc je suis en train de créer une liste blanche, qui ressemble à ceci (l est une colonne non représentée dans le sous-ensemble ci-dessus):
from to
1 L rs12913832
2 L rs1800407
3 L rs16891982
4 L rs1408799
5 L rs3829241
6 L rs12203952
7 L rs12896399
Lorsque je tente d'ajouter cette liste blanche, appelée white
à la fonction bn:
bn.bayes.Leye<-mmhc(trainingmotbf2[,c(2:6,8,18,26)],whitelist=white)
Error in build.whitelist(whitelist, nodes = names(x), data = x, algo = method, :
unknown node label present in the whitelist.
Maintenant l'erreur n'est pas cryptique, mais tous les noms dans la liste blanche sont dans la trame de données. Ils apparaissent dans le bn qui est créé avec succès dans la liste blanche. J'ai essayé les données en tant que facteurs et caractères pensant qu'il devait y avoir un certain format, mais la même erreur. Qu'est-ce que je rate? Est-ce que quelqu'un a de l'expérience ou des paquets suggérés pour construire des BN avec un parent continu et des nœuds enfants discrets? Peut-être que le paquet MoTBFs
n'est pas ce que je devrais utiliser.