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
相关产品推荐
相关产品推荐

