2017-03-07 1 views
0

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.

Répondre

0

Pour toute personne intéressée, j'ai réussi à le faire fonctionner en recodant comment j'ai créé la liste blanche. Peut-être parce que j'ai utilisé L séparément dans chaque cas au lieu de simplement avoir été le problème.

arcs<-data.frame(from="L",to=c("rs12913832","rs16891982","rs12203592","rs1800407","rs12896399","rs3829241","rs1408799"))