全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2312 4
2014-09-14
悬赏 20 个论坛币 未解决
在贝叶斯网络中,利用bnlearn进行推断时出错。
r代码(完整代码,在安装bnlearn包后可直接复制到r中运行):####################################
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 <- cpquery(network, (C=='c'), eval(parse(text=evi))) # 应该是这条指令有误
  }
  return(a)
}

test <- bn.function(fitted, learning.test)
[size=12.8000001907349px]########################################

报错信息为
Error in parse(text = evi) : object 'evi' not found

但是如果把cpquery函数单独拿出来执行,则没有问题
[size=12.8000001907349px]这是网上的相关解释,但是还是不能解决问题
[size=12.8000001907349px] http://r.789695.n4.nabble.com/Us ... loop-td4677927.html



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-10-1 09:06:44
给顶起来。。。。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-1-10 09:21:20
楼主好,请问你的问题解决了吗?我也遇到和你一样的问题
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-1-10 12:27:01
利用paste将cpquery整体封装
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-1-13 14:30:27
liufayue 发表于 2015-1-10 12:27
利用paste将cpquery整体封装
谢谢楼主,问题解决
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群