Исходя из этого
Как добавить результаты применения функции к существующему фрейму данных?
library (tidyverse)
library (epitools)
# here's my made up data
DISEASE = c("Marco Polio","Marco Polio","Marco Polio","Marco Polio","Marco Polio",
"Mumps","Mumps","Mumps","Mumps","Mumps",
"Chicky Pox","Chicky Pox","Chicky Pox","Chicky Pox","Chicky Pox")
YEAR = c(2011, 2012, 2013, 2014, 2015,
2011, 2012, 2013, 2014, 2015,
2011, 2012, 2013, 2014, 2015)
VALUE = c(82,89,79,51,51,
79,91,69,89,78,
71,69,95,61,87)
AREA =c("A", "B","C")
DATA = data.frame(DISEASE, YEAR, VALUE,AREA)
DATA %>%
mutate(POPN = case_when(
AREA == "A" ~ 2.5,
AREA == "B" ~ 3,
AREA == "C" ~ 7,
TRUE ~ 0)) %>%
group_by(DISEASE,AREA,POPN) %>%
count(AREA) %>%
mutate(res = list(pois.byar(n, POPN))) %>%
unnest()
дает мне то, что мне нужно.
Что я хотел бы сделать, так это нанести это на график рассеяния с горизонтальной линией, равной одной из рассчитанных мною скоростей. Вместо того, чтобы добавлять его вручную.
Я думал, что это может сработать
DATA%>%filter(DISEASE== "Chicky Pox")%>%
ggplot(aes(x=AREA, y=rate)) +geom_point() +
geom_hline(yintercept=20, linetype="dashed", color = "red")
Что это делает.
Это дает мне строку в 20.
Но как я мог сделать это, чтобы дать мне линию, равную значению ставки для области A (например).
Таким образом, вы могли быстро увидеть, какие ставки были выше или ниже нормы A.
Снова. Извините, это просто. Но уже поздно ...