Что такое вызов функции для извлечения среднего значения первых различий из объекта Zelig sim()?
Я пытаюсь извлечь среднее значение первых различий из упорядоченной пробитной модели, которую я использовал с Zelig. Если я просто вызываю имя объекта, созданного функцией sim(), я получаю распечатку средних значений для каждого значения, которое принимает DV. Я пытаюсь ссылаться на эти значения в Rmarkdown, поэтому я хотел бы вызывать их программно, а не просто копировать из распечатки.
Поэтому в приведенном ниже примере я хотел бы иметь возможность вызывать средние значения для "fd" для каждого значения 1:4.
Спасибо за любую помощь!
РЕДАКТИРОВАТЬ: Добавление воспроизводимого примера.
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)
1 ответ
ХОРОШО. Похоже, вы можете извлечь эту информацию с
colMeans(simulation_out$sim.out$x1$fd[[1]])
Я нашел это, отследив, что sumamry()
делает. Я побежал
class(simulation_out)
чтобы увидеть, что у нас есть объект S4, а затем попытался найти конкретную функцию для универсального метода с
selectMethod("summary", "Zelig-oprobit")
который показывает это вызывает $summzarize
на себя. И глядя на эту функцию
simulation_out$summarize
мы видим, что это вызывает show()
функция из его среды. Мы можем получить эту функцию с
get("show", environment(simulation_out$summarize))
fd
кажется, что информация приходит с линии pstat(.self$sim.out$x1, "sim x1")
который работает print(stat(.self$sim.out$x1$fd, .self$num))
, это stat()
функция вызывает statmat()
функция, которая вычисляет среднее значение и квантили. здесь мы просто используем colMean
сделать работу за нас.