- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 R 中贝叶斯网络一书的示例 p.39。
但是当我输入它时,出现了以下错误:
library(bnlearn)
library(deal)
net = network(marks)
prior = jointprior(net, N = 5)
Erreur dans array(1:TD, dim = Dim) : 'dims' doit être de longueur 0
我不明白,因为使用 R 帮助中提供的示例,它可以完美运行!
data(rats)
rats.nw <- network(rats)
rats.prior <- jointprior(rats.nw,12)
是不是因为“标记”只有连续变量?
最佳答案
您应该做的第一件事是调试。当您遇到错误时,
prior = jointprior(net, 5)
# Error in array(1:TD, dim = Dim) : 'dims' cannot be of length 0
您可以使用traceback
来查看错误发生的位置。
traceback()
# 3: array(1:TD, dim = Dim)
# 2: jointcont(nw, timetrace = timetrace)
# 1: jointprior(net, 5)
这告诉您问题发生在 jointprior
函数内的 jointcont
函数中对 array
的调用中。例如,可以看到相同的错误
jointcont( net, timetrace=FALSE )
# Error in array(1:TD, dim = Dim) : 'dims' cannot be of length 0
好的,所以这告诉您 array
调用中的 Dim
可能是 NULL
。你可以看到这个,因为
array(1:1,dim=NULL)
# Error in array(1:1, dim = NULL) : 'dims' cannot be of length 0
如果您通过在控制台中键入 jointcont
查看 jointcont
源代码,您可以看到 Dim
从未从 修改过c()
(即 NULL
),因为 net$nd
不大于零(它等于零)。看起来 net$nd
是图中离散节点的数量。请注意,rats.nw
有两个离散节点(参见 rats.nd$discrete
)。因此,您的函数无法正确运行,因为您的网络没有离散节点。它有五个连续的节点,但没有离散的节点。
当提供给 network
的数据帧中有一列是 factor
时,discrete
节点似乎就产生了。请注意,rats
数据框有两个 factor
列,因此有两个离散节点。 marks
数据框有五个 numeric
列和五个连续节点,但没有 factor
列。通过运行 plot(rats)
,您可以看到离散节点和连续节点分别是闭合圆和开放圆。
关于r - R 中 "deal"包中的 jointprior() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21688674/
我正在尝试使用 R 中贝叶斯网络一书的示例 p.39。 但是当我输入它时,出现了以下错误: library(bnlearn) library(deal) net = netwo
我是一名优秀的程序员,十分优秀!