Nagarajan等人。本书(Bayesian Networks in R,O'Reilly 2013,p.35)表示,当我获取R bnlearn包的标记数据集并要求通过编写
来使用grow-shrink实现来学习结构时library(bnlearn)
data(marks)
bn.gs = gs(marks)
申请时
bn.gs = gs(marks)
bn.gs甚至是bn.hc,它说:
“矩阵中的错误(c(x $ d,x $ pi,x $ sigma,x $ rho),ncol = 1):'data'必须是矢量类型,'NULL'”
我的数据类型似乎有问题,这与书籍完全相同。我该怎么办?
答案 0 :(得分:0)
我无法重现这一点,但我希望我们能够弄清楚发生了什么,因为您似乎与我的设置相同。我将此作为答案发布,以便代码显示出来,但是一旦我们到达那里,我会将其修改为答案。
请尝试:
devtools::install_github("jennybc/reprex")
library(reprex)
将此代码复制到剪贴板(例如 CTRL + C )
library(bnlearn)
data(marks)
bn.gs = gs(marks)
bn.gs
然后输入
reprex(venue = "so")
并粘贴输出。如果它有效,你应该得到类似下面的内容(如果它不是一个可重现的错误,应该会失败)
library(bnlearn)
data(marks)
bn.gs = gs(marks)
bn.gs
#>
#> Bayesian network learned via Constraint-based methods
#>
#> model:
#> [undirected graph]
#> nodes: 5
#> arcs: 6
#> undirected arcs: 6
#> directed arcs: 0
#> average markov blanket size: 2.40
#> average neighbourhood size: 2.40
#> average branching factor: 0.00
#>
#> learning algorithm: Grow-Shrink
#> conditional independence test: Pearson's Correlation
#> alpha threshold: 0.05
#> tests used in the learning procedure: 44
#> optimized: TRUE