bn.fit INTEGER() 只能应用于“整数”,而不是“双精度”

问题描述

我正在尝试使用混合模型训练贝叶斯网络。

wl <- matrix(c("DR","DT","LN","DL","DT"),ncol = 2,byrow = TRUE)
bl <- matrix(c("DT","D","DR","FT","FS","FC","FA","CO","BPM25","PM10","SWS","VWD","D"),byrow = TRUE)

net <- hc(df,blacklist = bl,whitelist = wl)
graphviz.plot(net)
fit <- bn.fit(net,df)

爬山算法工作正常。但是,当我尝试拟合数据时,它失败了

INTEGER() 只能应用于“整数”,不能应用于“双精度”

这是我的 str(df) 输出

'data.frame':   337676 obs. of  14 variables:
 $ LN   : Factor w/ 15 levels "Alphington","Altona north",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ D    : Date,format: "2019-04-15" "2019-12-29" "2019-12-29" "2019-12-29" ...
 $ DR   : num  33.7 33 33 33 33 ...
 $ DT   : num  381 354 354 354 354 ...
 $ FT   : Factor w/ 2 levels "BURN","BUSHFIRE": 1 2 2 2 2 2 2 1 2 2 ...
 $ FS   : Factor w/ 6 levels "BURNT_1","BURNT_2F",..: 3 3 4 4 4 1 4 2 2 1 ...
 $ FC   : Factor w/ 7 levels "0-9","10-29",..: 6 6 6 6 6 6 6 5 6 6 ...
 $ FA   : Factor w/ 6 levels "L","M","NA","S",..: 6 2 4 6 6 6 6 6 6 2 ...
 $ CO   : Factor w/ 2 levels "LOW","MED": 1 1 1 1 1 1 1 1 1 1 ...
 $ BPM25: Factor w/ 3 levels "HIGH","LOW","MED": 3 2 2 2 2 2 2 3 2 2 ...
 $ PM10 : Factor w/ 3 levels "HIGH","MED": 1 3 3 3 3 3 3 3 3 3 ...
 $ SWS  : Factor w/ 3 levels "HIGH","MED": 2 2 2 2 2 2 2 3 2 2 ...
 $ VWD  : Factor w/ 5 levels "East","Eeast",..: 3 5 5 5 5 5 5 3 5 5 ...
 $ DL   : num  41 41 41 41 41 41 41 41 41 41 ...

这是一个学习网络:

enter image description here

链接到数据集 https://1drv.ms/u/s!AjYX1QIwxaySkngPNn6nvcmL5L0g?e=chehjR

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)