对于贝叶斯网络和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")
可以使用一些指导。
谢谢!