Добавление отдельного geom_smooth для разных данных - PullRequest
0 голосов
/ 04 ноября 2019

Я хотел бы создать «серый» geom_smooth (или какой-либо другой вариант) для ggplot, используя верхнюю и нижнюю границу столбцов. Вот данные:

data <- read.table(text="
Student    Month       TestScore    LowestScore     HighestScore    MeanTest
001           1        65           44              97              77
001           2        75           38              92              78
001           3        80           58              99              79
002           1        83           44              97              77
002           2        76           38              92              78
002           3        85           58              99              79", header=TRUE)

Итак, я хочу составить график тестовых показателей каждого месяца, а затем иметь отдельную «серую» доверительную полосу на заднем плане для общих тестовых показателей (не для этих двух субъектов). .

Пока у меня есть следующий сюжет по двум предметам:

ggplot(data = data, aes(x = Month, y = TestScore, group = TestScore, color = Student)) + 
  geom_point() + 
  geom_line() + 
  theme_bw()

Любое понимание будет с благодарностью.

1 Ответ

0 голосов
/ 04 ноября 2019

То, что вы описываете, это не доверительный интервал, а диапазон данных за каждый месяц. Если вы хотите построить этот диапазон в стиле доверительного интервала от geom_smooth, вы можете сделать что-то вроде этого:
(я не уверен, что должна делать группировка по TestScore в предложенном вами графике.)

ggplot(data = data, aes(x = Month, y = TestScore, color = Student, group = Student)) + 
  geom_ribbon(aes(ymin = LowestScore, ymax = HighestScore), fill = "grey70", alpha = 0.3, color = NA) +
  geom_point() + 
  geom_line() + 
  theme_bw()

Что приводит к этому участку: enter image description here

...