Неврівноважений змішаний ефект ANOVA для повторних заходів


17

У мене є дані про пацієнтів, які під час операції отримували два види лікування. Мені потрібно проаналізувати його вплив на серцебиття. Вимірювання серцевого ритму проводиться кожні 15 хвилин.

Зважаючи на те, що тривалість операції може бути різною для кожного пацієнта, кожен пацієнт може проводити від 7 до 10 вимірювань серцевого ритму. Тому слід використовувати незбалансовану конструкцію. Я роблю свій аналіз за допомогою Р. І використовую пакет ez для повторного вимірювання змішаного ефекту ANOVA. Але я не знаю, як аналізувати незбалансовані дані. Хтось може допомогти?

Пропозиції щодо аналізу даних також вітаються.

Оновлення:
Як було запропоновано, я встановив дані за допомогою lmerфункції і виявив, що найкраща модель:

heart.rate~ time + treatment + (1|id) + (0+time|id) + (0+treatment|time)

з наступним результатом:

Random effects:
 Groups   Name        Variance   Std.Dev. Corr   
 id       time        0.00037139 0.019271        
 id       (Intercept) 9.77814104 3.127002        
 time     treat0      0.09981062 0.315928        
          treat1      1.82667634 1.351546 -0.504 
 Residual             2.70163305 1.643665        
Number of obs: 378, groups: subj, 60; time, 9

Fixed effects:
             Estimate Std. Error t value
(Intercept) 72.786396   0.649285  112.10
time         0.040714   0.005378    7.57
treat1       2.209312   1.040471    2.12

Correlation of Fixed Effects:
       (Intr) time  
time   -0.302       
treat1 -0.575 -0.121

Зараз я програю при інтерпретації результату. Чи правильно я роблю висновок, що два способи лікування впливали на серцебиття? Що означає співвідношення -504 між treatment0 та treatment1?


Перш ніж оновити відповідь, чи є лікування повторним фактором? тобто чи отримує кожен суб'єкт як лікування "a", так і лікування "b", чи це фактор між суб'єктами?
Метт Альбрехт

Лікування є фактором між суб'єктами. Кожен суб'єкт отримує лише 1 вид лікування. Я зашифрував обидва методи лікування як 1 і 0 і призначив лікування як факторну змінну.
biostat_newbie

Відповіді:


15

Функції lme / lmer з пакетів nlme / lme4 здатні вирішувати незбалансовані конструкції. Ви повинні переконатися, що час є числовою змінною. Ви також, ймовірно, хочете перевірити різні криві. Код буде виглядати приблизно так:

library(lme4)
#plot data with a plot per person including a regression line for each
xyplot(heart.rate ~ time|id, groups=treatment, type= c("p", "r"), data=heart)

#Mixed effects modelling
#variation in intercept by participant
lmera.1 <- lmer(heart.rate ~ treatment * time + (1|id), data=heart)
#variation in intercept and slope without correlation between the two
lmera.2 <- lmer(heart.rate ~ treatment * time + (1|id) + (0+time|id), data=heart)
#As lmera.1 but with correlation between slope and intercept
lmera.3 <- lmer(heart.rate ~ treatment * time + (1+time|id), data=heart)

#Determine which random effects structure fits the data best
anova(lmera.1, lmera.2, lmera.3)

Для отримання квадратичних моделей використовуйте формулу "heart.rate ~ лікування * час * I (час ^ 2) + (випадкові ефекти)".

Оновлення:
У цьому випадку, коли лікування є фактором між суб'єктами, я б дотримувався вищезгаданих специфікацій моделі. Я не думаю, що термін (0 + лікування | час) є таким, який ви хочете включити в модель, мені, в цьому випадку, немає сенсу трактувати час як змінну випадкових ефектів.

Але, щоб відповісти на ваше запитання про те, "що означає кореляція -0.504 між лікувати0 та лікувати1 ", це коефіцієнт кореляції між двома методами лікування, де кожен раз групування становить одну пару значень. Це має більше сенсу, якщо ідентифікатор є групуючим фактором, а лікування - змінною в межах суб'єктів. Тоді ви маєте оцінку співвідношення між перехопленнями двох умов.

Перш ніж робити будь-які висновки щодо моделі, уточніть її за допомогою lmera.2 та додайте REML = F. Потім завантажте пакет "languageR" і запустіть:

plmera.2<-pvals.fnc(lmera.2)
plmera.2

Тоді ви можете отримати p-значення, але за зовнішнім виглядом це, мабуть, значний вплив часу та значний ефект від лікування.


1
Чи слід встановити аргумент REML lmer на FALSE при створенні цих моделей, оскільки в кінцевому підсумку вони будуть порівнюватися за допомогою функції anova ()?
Майк Лоуренс

7
Порівнюючи моделі, що використовують тести на коефіцієнт ймовірності, ви можете порівнювати різні структури випадкових ефектів за допомогою REML (обмежена / залишкова максимальна ймовірність, як вище), але для порівняння різних моделей з фіксованим ефектом потрібно використовувати ML (максимальна ймовірність) .
onestop

Чи не повинен час бути випадковим ефектом, оскільки вимірювання пульсу - це зразки, взяті під час операції? Якщо це так, чи має сенс наступне (оскільки я все ще читаю функцію lmer і не зовсім зрозумів синтаксис)? lmer (heart.rate ~ лікування + (1 | id) + (1 + час), дані = серце)
biostat_newbie

1
Термін "(time | id)" на стороні випадкових ефектів вказує на функцію, що відповідає різним (лінійним) нахилам для кожної людини. Таким чином, ви можете мати час як фіксованого ефекту, так і випадкового ефекту, але вони означають різні речі. Подивіться приклад сонника в книзі Дугласа Бейтса: lme4.r-forge.r-project.org/book/Ch4.pdf
Метт Альбрехт

2
Я не розумію, як для повторних заходів lmerпропонується, а не стара lme. У таких випадках перехрещені випадкові ефекти, основні сили яких lmerє, рідкісні, але досить часто потрібно моделювати кореляційну структуру залишків. Наскільки я розумію, lmerце не підтримує, але lmeробить. Чи помиляюсь, якщо в таких випадках lmerвважається неповноцінним інструментом порівняно з lme?
AlefSin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.