1

我对贝叶斯网络和 bnlearn 很满意。我提前道歉。

我正在研究我的博士生导师提供的数据库。当我从 spss 导出它时,我得到的网络与从 csv 导出的网络不同。这是平常的吗?这是相同的数据...不同之处在于通过spss将其从.sav转换为.csv的中间步骤...

主要问题是,当我使用 .sav 导出的数据时,不知何故我不断收到此错误消息,指出我的变量不是离散的(它们已被重新编码为分类变量,所以我不知道这是从哪里来的)。因此,它们不能在 samIam 中使用。

这是错误:“write.net(rehosp.hc.fit, file = "rehosp.hc.learned.net") 中的错误:只能将离散贝叶斯网络导出为 DSC 格式。”

代码如下:

require (bnlearn)
library(haven)
path <- file.path("C:/.../path_to_file/...", "database.sav")
rehosp.data <- read_sav(path)
print(str(rehosp.data))
rehosp.hc.net <- hc(rehosp.data, debug=TRUE)
plot(rehosp.hc.net)
rehosp.hc.fit <- bn.fit(rehosp.hc.net, rehosp.data)
write.net(rehosp.hc.fit, file="filename")

可以使用一些指导。

谢谢!

4

0 回答 0