Что такое вызов функции для извлечения среднего значения первых различий из объекта 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 сделать работу за нас.

Другие вопросы по тегам