J'utilise le paquetage bnlearn dans R pour former un réseau bayésien. J'ai des problèmes avec le code suivant (code bnlearn exemple légèrement modifié):R bnlearn eval inside function
library(bnlearn)
data(learning.test)
fitted = bn.fit(hc(learning.test), learning.test)
myfuncBN=function(){
var = names(learning.test)
obs = 2
str = paste("(", names(learning.test)[-3], "=='",
sapply(learning.test[obs,-3], as.character), "')",
sep = "", collapse = " & ")
str2 = paste("(", names(learning.test)[3], "=='",
as.character(learning.test[obs, 3]), "')", sep = "")
cpquery(fitted, eval(parse(text = str2)), eval(parse(text = str)))
}
myfuncBN()
Ce code lance l'erreur:
Erreur lors wrapup: ne peut pas forcer le type 'fermeture' au vecteur de type 'caractère'
Cela fonctionne cependant si str et str2 sont définis en dehors de la fonction myfuncBN(). Est-ce que quelqu'un sait la raison de ceci?
Merci, travaille pour moi! – Jam