Рассчитайте мощность и размер выборки для запланированных контрастов в линейных смешанных моделях с использованием simr.

Вопрос или проблема

У меня есть линейная смешанная модель в R с использованием пакета lmerTest, где есть три категориальных фактора (A с 3 уровнями, B с 8 уровнями и C с 2 уровнями) и случайный эффект для Испытуемого. Я заинтересован в проведении анализа мощности с помощью simr для двух конкретных запланированных контрастов между уровнями B. Это возможно?

Например, мы обозначаем уровни 1, 2, 3, 4 фактора B как B1, B2, B3 и B4 соответственно, а A1 как уровень 1 фактора A. Нам нужна мощность для следующих контрастов.

  1. Сравнить B1 и B2, и сравнить B3 и B4, контролируя все другие переменные (если модель не содержит взаимодействий)
  2. Сравнить B1 и B2, и сравнить B3 и B4 на конкретном уровне A A2 (если учитывать взаимодействие между A и B)

Я понимаю, что simr может смоделировать мощность и размер выборки для всех фиксированных эффектов в модели, так что мы можем сравнить B1 со всеми другими уровнями B, установив уровень B по умолчанию на B1. Но я не уверен, как это настроить для вычисления мощности для вышеупомянутых конкретных контрастов. Я также знаю, что emmeans может настраивать и вычислять пост-хок контрасты, но существует ли способ интегрировать это с simr для анализа мощности и размера выборки? Если нет, то каковы соответствующие способы это сделать?

Может кто-то поделиться опытом моделирования мощности и размера выборки для этих запланированных контрастов с использованием simr?

Ответ или решение

Для проведения анализа мощности и определения размера выборки для запланированных контрастов в линейных смешанных моделях с использованием пакета simr в R, можно следовать следующему алгоритму.

1. Установка необходимых пакетов

Убедитесь, что у вас установлены и загружены следующие пакеты:

install.packages("lmerTest")
install.packages("simr")
install.packages("emmeans")
library(lmerTest)
library(simr)
library(emmeans)

2. Построение линейной смешанной модели

Создаем линейную смешанную модель с фиксированными эффектами для факторов A, B и C, а также случайным эффектом для субъекта:

model <- lmer(response ~ A * B * C + (1 | Subject), data = your_data)

Если у вас нет взаимодействия между факторами A и B, модель будет:

model <- lmer(response ~ A + B + C + (1 | Subject), data = your_data)

3. Определение контрастов для анализа мощности

Что касается ваших запланированных контрастов, требуется выполнить следующие действия:

3.1. Контрасты без взаимодействия

Для первого случая, где мы хотим сравнить B1 и B2, и B3 и B4, можно воспользоваться функцией contrast из пакета emmeans для контроля за другими переменными:

# Создание эммесов
emm <- emmeans(model, ~ B)
# Определение контрастов
contrast1 <- contrast(emm, "pairwise", which = c("B1", "B2"))
contrast2 <- contrast(emm, "pairwise", which = c("B3", "B4"))

3.2. Контрасты с взаимодействием

Во втором случае, если вы хотите сравнить те же уровни B, но при фиксированном уровне A2, вы можете использовать следующие команды:

# Эммесы для уровня A2
emm_A2 <- emmeans(model, ~ B | A)
contrast_A2_1 <- contrast(emmeans(model, ~ B | A2), "pairwise", which = c("B1", "B2"))
contrast_A2_2 <- contrast(emmeans(model, ~ B | A2), "pairwise", which = c("B3", "B4"))

4. Расчёт мощности с использованием simr

Теперь мы можем использовать пакет simr для расчёта мощности. Сначала необходимо определить размер выборки, который вы хотите протестировать. Это делается с помощью функции powerSim:

# Для без взаимодействий
power_result1 <- powerSim(model, test = fixed("B"), nsim = 100)
summary(power_result1)

# Для с взаимодействием
# Убедитесь, что модель использует правильный EMMeans
power_result2 <- powerSim(model, fixed("A:B"), nsim = 100)
summary(power_result2)

5. Определение размера выборки

Чтобы определить необходимый размер выборки для заданной мощности, используйте функцию h2 из simr с вашими контрастами.

Вот как это можно сделать:

# Для без взаимодействий
size_result1 <- determineSize(model, power = 0.80, fixed("B1", "B2"), nsim = 100) # 80% мощность
summary(size_result1)

# Для ситуации с взаимодействием
size_result2 <- determineSize(model, power = 0.80, fixed("A:B1", "A:B2"), nsim = 100) # 80% мощность
summary(size_result2)

Заключение

Теперь у вас есть четкое руководство по проведению анализа мощности и определению размер выборки для запланированных контрастов в линейных смешанных моделях используя simr и emmeans. Не забывайте, что важно правильно интерпретировать результаты анализа мощности и корректно выбирать необходимые параметры для вашей исследовательской задачи.

Оцените материал
Добавить комментарий

Капча загружается...