के भीतर मैं bnlearnpackage सशर्त संभावनाओं की गणना करने के उपयोग करने का प्रयास कर रहा हूँ, और जब "cpquery" समारोह एक पाश के भीतर प्रयोग किया जाता है मैं एक समस्या में चल रहा हूँ। मैंने पैकेज के साथ शामिल डेटा का उपयोग करके नीचे दिखाया गया एक उदाहरण बनाया है। लूप में cpquery फ़ंक्शन का उपयोग करते समय, लूप में निर्मित एक चर (उदाहरण में "evi") फ़ंक्शन द्वारा पहचाना नहीं जाता है। मुझे त्रुटि मिलती है:फंक्शन "cpquery" bnlearn का उपयोग करते हुए एक लूप
Error in parse(text = evi) : object 'evi' not found
लेखक "ईवी" के निर्माण चरण लेखक द्वारा प्रदान किए गए उदाहरणों पर आधारित हैं।
कोई भी सहायता जो आप प्रदान कर सकते हैं वह बहुत अच्छा होगा। मैं एक तरीका खोजने के लिए बेताब हूं कि मैं बड़ी संख्या में अवलोकनों के लिए cpquery फ़ंक्शन लागू कर सकता हूं।
library(bnlearn)
data(learning.test)
fitted = bn.fit(hc(learning.test), learning.test)
bn.function <- function(network, evidence_data) {
a <- NULL
b <- nrow(evidence_data)
for (i in 1:b) {
evi <- paste("(", names(evidence_data), "=='",
sapply(evidence_data[i,], as.character), "')",
sep = "", collapse = " & ")
a[i] <- cpquery(network, (C=='c'), eval(parse(text=evi)))
}
return(a)
}
test <- bn.function(fitted, learning.test)
अग्रिम धन्यवाद!
मैं bnlearn पैकेज के लेखक के संपर्क में रहा हूं, और ऐसा लगता है कि मुझे प्राप्त होने वाली त्रुटि cpquery फ़ंक्शन के साथ स्कोपिंग समस्या के कारण है। यह स्पष्ट है जब मैं cpquery फ़ंक्शन को एक फॉर-लूप में ठीक से काम करने में सक्षम हूं जो उपयोगकर्ता द्वारा परिभाषित फ़ंक्शन के _outside_ का निर्माण किया गया है, लेकिन त्रुटि है जब एक ही फॉर-लूप का उपयोग उपयोगकर्ता द्वारा परिभाषित _inside_ समारोह। –