Начальные доверительные интервалы для модерируемого посредничества - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь установить доверительные интервалы для моих точечных оценок косвенных эффектов модели посредничества. Поскольку это на самом деле (первая стадия, a-путь) модерируемая медиация, мне нужно сделать это три раза, чтобы найти косвенный эффект, когда мой модератор (fiscal ниже) находится в среднем ( фискальный) и + - 1 стандартное отклонение.

Я оценил свою модель двумя способами:

1. Использование пакета mediation.

summary(model_m <- lm(unaccept_i ~ condition*fiscal, data=d1))
summary(model_y <- lm(redis_i ~ condition*fiscal + unaccept_i, data=d1))

mod_med <- mediation::mediate(model_m, model_y,
                   covariates = list(fiscal = 0),
                   treat="condition",
                   mediator="unaccept_i",
                   boot=T,
                   sims = 5000)

2. Использование пакета psych.

psy_med <- psych::mediate(redis_i ~ condition*fiscal + (unaccept_i),
data=d1, plot=F, n.iter=5000)

Я могу либо попытаться получить доступ к косвенным эффектам от любого из двух вышеуказанных подходов (если это возможно? Это неясно), либо напрямую рассчитать его самостоятельно:

#conditional effect of X on Y through M: (a1 + a3*W)*b
a1 <- mod_med$model.m$coefficients[2]
a3 <- mod_med$model.m$coefficients[4]
b <- mod_med$model.y$coefficients[4]

cond_fx_pap <- tibble(fis_val = c(mean(d1$fiscal)-sd(d1$fiscal), 
                                  mean(d1$fiscal), 
                                  mean(d1$fiscal)+sd(d1$fiscal)),
                  cond_ind_fx = (a1 + a3*fis_val)*b)

Единственная проблема в том, что этот подход не дает мне доверительные интервалы.

Может ли кто-нибудь выяснить, как выполнить начальную загрузку / моделирование Монте-Карло доверительных интервалов, чтобы я мог нанести условные косвенные эффекты (a * b) на среднее значение и + - 1 SD моего модератора?

Большое спасибо заранее!

PS: Вот фрагмент того, как выглядят данные:

df <- tibble(
    redis_i = c(1.6666667, -1.3333333, 2.0000000, -0.6666667, 0.0000000, 1.3333333, 3.0000000, 4.3333333, -0.3333333, 3.3333333),
    condition = c(0.5, -0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, 0.5, 0.5),
    fiscal = c(3, 0, -2, -3, -1, -1, 1, 0, 1, -1),
    unaccept_i = c(3.3333333, 1.2222222, 3.2222222, 2.2222222, -0.2222222, 2.2222222, 4.3333333, 5.0000000, 2.1111111, 1.1111111))
...