Я пытаюсь сравнить среднее значение нескольких измерений (y1, y2, некоторые из которых являются непрерывными, другие дихотомические, с отсутствующими данными) с течением времени для 3 различных групп населения, у которых было 1, 2 или 3 процедуры (p1
, p2
, p3
). Вот симуляция данных. Я пытаюсь сравнить среднее значение y1
и частоту y2
между несколькими временными точками _tx
(Примечание: меня не особо интересует влияние y1
на y2
и наоборот). Я думаю, что ANOVA не будет учитывать межиндивидуальную изменчивость, поэтому я думаю, что тест для использования должен быть смешанной моделью, правильно? Если да, то как мне написать сценарий? Должен ли я использовать пакет lme4
?
Вот вывод смоделированных данных
pop date_t1 y1 y2 date_t2 y1_t2 y2_t2 date_t3 y1_t3 y2_t3
1 p1 2012-03-24 13.3 NA <NA> NA NA <NA> NA NA
2 p1 2012-03-20 NA NA <NA> NA NA <NA> NA NA
3 p1 2012-01-21 8.3 0 <NA> NA NA <NA> NA NA
4 p1 2012-03-27 NA NA <NA> NA NA <NA> NA NA
5 p1 2012-01-14 11.6 NA <NA> NA NA <NA> NA NA
6 p1 2011-12-21 8.1 NA <NA> NA NA <NA> NA NA
7 p1 2012-01-17 12.5 0 <NA> NA NA <NA> NA NA
8 p1 2011-12-24 18.3 1 <NA> NA NA <NA> NA NA
9 p1 2011-12-24 NA NA <NA> NA NA <NA> NA NA
10 p1 2011-12-09 14.5 0 <NA> NA NA <NA> NA NA
11 p2 2012-02-28 8.3 0 2013-02-16 15.1 NA <NA> NA NA
12 p2 2012-04-16 NA 1 2013-02-19 NA 1 <NA> NA NA
13 p2 2012-01-09 8.7 0 2013-02-07 15.8 NA <NA> NA NA
14 p2 2011-12-05 11.6 NA 2013-05-26 16.4 NA <NA> NA NA
15 p2 2012-03-28 NA 1 2013-03-24 NA 1 <NA> NA NA
16 p2 2011-12-19 15.7 0 2013-03-27 17.9 0 <NA> NA NA
17 p3 2012-01-03 7.7 0 2013-04-12 15.0 0 2013-04-09 13.1 1
18 p3 2012-01-09 5.8 NA 2013-03-14 10.3 0 2013-04-06 14.9 1
19 p3 2011-11-18 NA NA 2013-05-15 NA NA 2013-04-08 14.7 NA
20 p3 2011-11-22 11.1 0 2013-04-12 13.3 1 2013-04-27 NA 1
Вот код для симуляции данных:
library(lubridate)
library(dplyr)
# 3 different populations
pop = c(rep("p1", 10), rep("p2", 6), rep("p3", 4))
# value at time of first intervention
date_t1 = as.Date(as.Date(rep("2012-01-30",10)) -replicate(20, 40*rnorm(1)) %>% round())
y1 = c(10-(replicate(20, 20+(3*rnorm(1))) %>% round(digit = 1))) %>% abs()
y1[c(2,4, 9, 12, 15, 19)] = NA
y2 = rbinom(20,1,0.4)
y2[c(1,2, 4,5,6, 9, 14, 18, 19)] = NA
# value at time of second intervention
date_t2 = as.Date(as.Date(rep("2013-04-03",10)) -replicate(20, 40*rnorm(1)) %>% round())
date_t2[1:10] = NA
y1_t2 = c(10-(replicate(20, 25+(3*rnorm(1))) %>% round(digit = 1))) %>% abs()
y1_t2[c(1:10, 12, 15, 19)] = NA
y2_t2 = rbinom(20,1,0.4)
y2_t2[c(1:10, 11, 13, 14, 19)] = NA
# value at time of third intervention
date_t3 = as.Date(as.Date(rep("2013-04-03",10)) -replicate(20, 40*rnorm(1)) %>% round())
date_t3[1:16] = NA
y1_t3 = c(10-(replicate(20, 26+(3*rnorm(1))) %>% round(digit = 1))) %>% abs()
y1_t3[c(1:16, 20)] = NA
y2_t3 = rbinom(20,1,0.4)
y2_t3[c(1:16, 19)] = NA
data = data.frame(pop, date_t1, y1, y2, date_t2, y1_t2, y2_t2, date_t3,
y1_t3, y2_t3, check.names = F)
data