Вычислите коэффициент естественного логарифмического отклика для каждого уровня лечения

#r #logging

#r #ведение журнала

Вопрос:

У меня есть две переменные-предсказатели (обработка 1 и обработка 2):

-лечение 1: 2 уровня (U и C) Это лечение вложено в лечение 2.

-обработка 2: 7 уровней (level1, level2, level3, level4, level5, level6, level7), каждый с 3 повторениями

уровень 6 — это мой контроль

И три переменные ответа: a, b и c

Это данные за четыре года: 2016, 2017, 2018, 2019

Мой вопрос таков: как мне рассчитать коэффициент естественного ответа для каждой переменной ответа при каждом лечении2, используя уровень 6 в качестве эталона, разделенный для U и C, в каждый год?

Например, каков естественный логарифмический коэффициент отклика уровня 1 по отношению к уровню 6 (контроль) в U и C? Далее, каков естественный логарифмический коэффициент отклика уровня 2 по отношению к уровню 6 (контроль) в U и C ?… и так далее.

Это подмножество моего фрейма данных (df) с фиктивными значениями ответа:

введите описание изображения здесь

Я действительно ценю любую помощь в этом! Спасибо!

Ответ №1:

У меня нет большого опыта работы с коэффициентом отклика журнала, но определение по ссылке :

Параметр коэффициента отклика — это отношение среднего уровня результата во время фазы B к среднему уровню результата во время фазы A. Коэффициент логарифмического отклика — это натуральный логарифм коэффициента отклика. Этот размер эффекта подходит для результатов, измеренных по шкале коэффициентов (так что ноль соответствует истинному отсутствию результата.

Простой пример

 A <- c(20, 20, 26, 25, 22, 23)
B <- c(28, 25, 24, 27, 30, 30, 29)

df = data.frame(y = c(A,B),
                x = c(rep("A",times=length(A)),rep("B",times=length(B))))

lm_out <- lm(y ~ x,data=df)

beta_0 <- coef(lm_out)[1] 
beta_1 <- coef(lm_out)[2] 

# log response ratio:
log(beta_0   beta_1) - log(beta_0)
 

Ваш вопрос

  1. Стратифицируйте свой набор данных по годам и обработке 1. Это эквивалентно добавлению эффектов трехстороннего взаимодействия, что вы и предлагаете. Вы могли бы использовать трехстороннее взаимодействие, если это более подходящая модель для вашего варианта использования.
  2. Числитель: сложите перехват и коэффициент для вашего уровня интереса (скажем, уровня 1)
  3. Знаменатель: только перехват
  4. Коэффициент логарифмического отклика = log (числитель / знаменатель)

Комментарии:

1. Спасибо @jvargh, но я думаю, что я пытаюсь сделать что-то вроде: ln(a на уровне 1 / a на уровне 6)

2. Да, поэтому, когда вы соответствуете линейной регрессии, стратифицированной по годам и treat1, ваш перехват будет средним значением вашего результата в эталонной категории treat2 (уровень 6)