You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R调用CausalQueries库的get_type_prob函数提示未找到的问题求助

解决CausalQueries中get_type_prob函数不存在的问题

问题核心

你调用的get_type_prob函数在当前安装的CausalQueries版本中已被移除,这是因为库的API在版本迭代中发生了变更,而你参考的《Integrated Inferences》使用的是旧版库的语法。从你执行ls("package:CausalQueries")的输出也能确认,当前版本的库中确实没有该函数。

替代方案

当前版本的CausalQueries中,获取因果类型概率的功能可以通过以下两种方式实现:

方式1:直接访问模型对象的type_prob属性

模型对象在创建并设置限制后,会自动计算并存储因果类型的先验概率,直接提取即可:

model <- make_model("X -> M -> Y") |> 
         set_restrictions("X[]==0") |> 
         set_restrictions("M[X=1] < M[X=0]") |> 
         set_restrictions("Y[M=1] < Y[M=0]") 

q1 <- "Y[X = 1] > Y[X = 0]"
q2 <- "X == 1 & Y == 1"

df <- data.frame(
  a1 = get_query_types(model, q1)$types,
  a2 = get_query_types(model, q2)$types,
  p  = model$type_prob)

方式2:使用get_event_probabilities函数

利用库中已有的get_event_probabilities函数,指定获取因果类型的概率:

model <- make_model("X -> M -> Y") |> 
         set_restrictions("X[]==0") |> 
         set_restrictions("M[X=1] < M[X=0]") |> 
         set_restrictions("Y[M=1] < Y[M=0]") 

q1 <- "Y[X = 1] > Y[X = 0]"
q2 <- "X == 1 & Y == 1"

df <- data.frame(
  a1 = get_query_types(model, q1)$types,
  a2 = get_query_types(model, q2)$types,
  p  = get_event_probabilities(model, events = "causal_types"))

说明

两种方式都能得到与旧版get_type_prob函数相同的结果,生成你预期的表格数据。如果需要完全匹配书籍中的旧版语法,也可以安装对应版本的CausalQueries,但更推荐使用当前版本的API以获得更好的兼容性和功能支持。

内容的提问来源于stack exchange,提问作者Andrew Cruickshank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 22:48:17