Построение общего тренда с использованием ggplot для продольных данных - PullRequest
0 голосов
/ 03 мая 2020

Я хочу построить общую тенденцию для продольных данных. Я использую данные sleepstudy в пакете lme4, чтобы продемонстрировать свою проблему.

 library("lme4")
 library("ggplot2")
    p1 <- ggplot(data = sleepstudy, aes(x = Days, y = Reaction, group = Subject))
    p1 + geom_line() + geom_point(aes(col = Subject) ,size=2)

Когда я строю продольные траектории для каждого человека, я получаю этот график enter image description here

Здесь меня интересует поиск общей тенденции по всем предметам. Для примера, основанного на приведенном выше графике, мы видим тенденцию к росту в целом. В общем, эта тенденция может быть чем-то похожим на линейный, квадратичный c и c. Это какой-то способ построить эту общую тенденцию?

Я пробовал это. Но я получил сглаженные кривые для каждого предмета вместо того, чтобы получить общую тенденцию

p1  + geom_point() +  geom_smooth(method = "lm") 

enter image description here

Может кто-нибудь помочь мне понять это?

Спасибо

1 Ответ

1 голос
/ 03 мая 2020

Не знаю, правильно ли я понимаю:

library("lme4")
library("ggplot2")
ggplot(data = sleepstudy, aes(x = Days, y = Reaction))+
  geom_point(aes(colour = Subject), alpha = .3)+
  geom_smooth()+
  theme(legend.position = "none")

enter image description here

Как видите, у вас будет loess функция:

> geom_smooth()` using method = 'loess' and formula 'y ~ x'

Если вам нужно lm, просто укажите аргумент method в geom_smooth.

library("lme4")
library("ggplot2")
ggplot(data = sleepstudy, aes(x = Days, y = Reaction))+
  geom_point(aes(colour = Subject), alpha = .3)+
  geom_smooth(method = "lm")+
  labs(title = "Linear Model (LM)")+
  theme(legend.position = "none")

Результат:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...