#r #ggplot2
#r #ggplot2
Вопрос:
Я запускаю lme в nlme, и когда я пытаюсь отобразить результаты (используя код из одного из вопросов с ответами здесь), я получаю результаты, отличные от результирующих коэффициентов модели, а именно перехват. Это построение перехвата случайных эффектов, а не перехвата фиксированных эффектов?
model<-lme(Y~A Group A*Group, random=~1|Subject, data.in2)
> summary(model)
Linear mixed-effects model fit by REML
Data: data.in2
AIC BIC logLik
3203.191 3227.229 -1595.596
Random effects:
Formula: ~1 | Subject
(Intercept) Residual
StdDev: 17.6086 10.03305
Fixed effects: Y ~ A Group A * Group
Value Std.Error DF t-value p-value
(Intercept) 42.36244 7.122246 360 5.947905 0.0000
A -1.05472 0.144155 360 -7.316565 0.0000
Group1 -7.49777 12.920964 46 -0.580279 0.5646
A:Group1 0.00180 0.291035 360 0.006195 0.9951
Correlation:
(Intr) A Group1
A -0.902
Group1 -0.551 0.497
A:Group1 0.447 -0.495 -0.888
Standardized Within-Group Residuals:
Min Q1 Med Q3 Max
-2.99649773 -0.50936511 -0.01409361 0.55007319 4.11784199
Number of Observations: 410
Number of Groups: 48
И графический код является:
newdata<-expand.grid(Group=unique(data.in2$Group), A=c(min(data.in2$A), max(data.in2$A)))
[![ggplot(data.in2, aes(x=A, y=Y, colour=Group)) geom_point(size=1)
geom_line(aes(y=predict(model), group=Subject, size="Subjects"))
geom_line(data=newdata, aes(y=predict(model, level=0, newdata=newdata), size="Population"))
scale_size_manual(name="Predictions", values=c("Subjects"=0.5, "Population"=3), guide="none")][2]][2]
Я также пытаюсь прикрепить изображение, но я не уверен, как. https://i.stack.imgur.com/rfNwP.png
Ответ №1:
Ваша модельная формула не соответствует вашей выходной записи. Правильная формула модели для предоставленных вами выходных данных является:
model<-lme(Y ~ A Group A:Group, random=~1|Subject, data.in2)
что эквивалентно:
model<-lme(Y ~ A*Group, random=~1|Subject, data.in2)
Если вы расскажете нам больше о ваших переменных A и Group, мы сможем прокомментировать предоставленные вами выходные данные модели.
Добавление:
Из вашего сообщения неясно, что вы подразумеваете под «получением разных перехватов». В вашей модели взаимосвязь между Y и A для каждого субъекта в каждой группе предполагается линейной (например, значение Y имеет тенденцию к уменьшению по мере увеличения A); пересечение прямой линии, фиксирующей эту взаимосвязь, может отличаться у субъектов внутри группы, но наклон предполагается одинаковым у субъектов в этой группе. Наклон отражает скорость изменения ожидаемого значения Y на увеличение значения A на 1 единицу для данного субъекта в данной группе.
Поскольку ваша модель включает в себя перехват между A и Group, существует дополнительное предположение, что наклоны субъектов в первой группе отличаются от наклонов субъектов во второй группе. Значение p для взаимодействия между A и Group довольно велико, поэтому ваши данные, похоже, не подтверждают это предположение. Вот почему на вашем графике вы видите, что наклоны для объектов в двух группах более или менее одинаковы.
«Типичный» объект в вашей первой группе (Group = 0) имеет перехват, заданный 42.36244, и наклон, заданный -1.05472. Другие испытуемые в первой группе имеют одинаковый наклон, но перехваты, которые случайным образом варьируются в зависимости от «типичного» значения перехвата 42,36244. Вы можете извлечь отклонения от этого «типичного» перехвата с помощью команды ranef(). Добавление этих отклонений к «типичному» перехвату в первой группе даст вам перехваты, зависящие от конкретной темы, для субъектов первой группы.
У «типичного» субъекта из вашей второй группы (Group = 1) перехват равен 42.36244 (-7.49777), а наклон равен -1.05472 (0.00180). Другие испытуемые во второй группе имеют тот же наклон -1.05472 (0.00180), но перехваты, которые случайным образом варьируются в пределах «типичного» значения перехвата 42.36244 (-7.49777). Вы можете извлечь отклонения от этого «типичного» перехвата с помощью команды ranef() — просто убедитесь, что каждое отклонение соответствует соответствующему объекту в группе 2. Добавив эти отклонения к «типичному» перехвату для второй группы, вы получите перехваты, зависящие от конкретного объекта, для объектов второй группы.
В вашей сводной модели и команде ranef () достаточно информации, чтобы фактически построить свой график с нуля и посмотреть, соответствует ли он графику, который вы показали здесь.
Комментарии:
1. Вы абсолютно правы, B должно было быть Group в первоначальном утверждении. A — непрерывная переменная, а Group — категориальная переменная с 2 уровнями.
2. Пожалуйста, ознакомьтесь с моим дополнением — дайте мне знать, если это прояснит для вас вопросы. Кстати, вы румын? Я сам румын, но обосновался в Канаде — мой младший брат ходил в среднюю школу имени Мирчи чел Батрана в Констанце.
3. Спасибо! Это было отличное подробное объяснение! Я попробую это и посмотрю, как будет выглядеть новый график! Да, я румын! Bine v-am gasit!
4. На самом деле, как выясняется, масштабы здесь не те. Я не устанавливал это соединение, пока не попробовал ваш метод, и, естественно, среднее значение отклонений очень близко к нулю, отсюда и линия заполнения. Если я расширю ось x до нуля, я получу тот же перехват. Это всегда самый простой ответ! В любом случае спасибо!