R 从Zelig sim()对象中提取第一个差异的平均值的函数调用是什么?
我试图从与Zelig一起运行的有序probit模型中提取第一个差值的平均值。如果我只调用sim()函数创建的对象的名称,就会得到DV所取每个值的平均值的打印结果。我试图在Rmarkdown中引用这些值,所以我想通过编程调用它们,而不是仅仅从打印输出中复制 所以在下面的例子中,我希望能够调用“fd”的平均值,每个值为1:4 谢谢你的帮助 编辑:添加可复制的示例R 从Zelig sim()对象中提取第一个差异的平均值的函数调用是什么?,r,r-markdown,r-zelig,R,R Markdown,R Zelig,我试图从与Zelig一起运行的有序probit模型中提取第一个差值的平均值。如果我只调用sim()函数创建的对象的名称,就会得到DV所取每个值的平均值的打印结果。我试图在Rmarkdown中引用这些值,所以我想通过编程调用它们,而不是仅仅从打印输出中复制 所以在下面的例子中,我希望能够调用“fd”的平均值,每个值为1:4 谢谢你的帮助 编辑:添加可复制的示例 library(zeligverse) library(dplyr) data(sanction) si
library(zeligverse)
library(dplyr)
data(sanction)
simulation_out <- zelig(factor(cost) ~ mil+coop, model="oprobit",data=sanction) %>% setx(z.out, coop = 1) %>% setx1(z.out, coop = 4) %>% sim()
summary(simulation_out)
库(zeligverse)
图书馆(dplyr)
数据(制裁)
模拟输出%setx(z.out,coop=1)%%>%setx1(z.out,coop=4)%%>%sim()
总结(模拟输出)
好的。看起来你可以用
colMeans(simulation_out$sim.out$x1$fd[[1]])
我通过追踪Suamry()的功能发现了这一点。我跑
class(simulation_out)
要查看,我们有一个S4对象,然后尝试使用
selectMethod("summary", "Zelig-oprobit")
这表明它在自身上调用$summzarize
。看看这个函数
simulation_out$summarize
我们看到它从其环境中调用了show()
函数。我们可以用
get("show", environment(simulation_out$summarize))
fd
信息似乎来自运行print(stat(.self$sim.out$x1,.self$num))的线路pstat(.self$sim.out$x1,“sim-x1”)
。此stat()
函数调用计算平均值和分位数的statmat()
函数。在这里,我们只需使用colMean
来为我们完成工作。太棒了!那太好了!希望Zelig的下一个版本能够有一个更直观的方法来获取这些值……我并不是说这是唯一的方法。也许有更好的方法我只是不知道。我自己不使用Zelig包,但我知道如何通过代码查看这些值是如何打印出来的。它可能不漂亮,但它很管用。