자료와 배경
나이팅게일(Florence Nightingale, 1820-1910)은 크림전쟁(1854-1856) 당시 38명의 잉글랜드 성공회 수녀들의 도움을 받으며 슈코더르(Scutari)의 야전 병원에서 유능한 보건행정가로서의 역량을 발휘하여 병원에서 쓰는 물건을 세심하고 관리하고 무질서한 병원에 규율을 세웠다. 환자의 사망율을 42%에서 2%로 낮추고 집중치료실(ICU)을 설치하여 상태가 중한 환자를 격리하여 집중관리하는 등 근대적인 간호체계를 수립하는 데 기여하였다. 관료주의에 물든 군의 관리들을 설득하기 위하여 사용한 다음 도표는 Rose Diagram, 혹은 Coxcomb plot 등으로 불린다.

데이터
library(knitr)
library(HistData)
library(tidyverse)
library(magrittr)
library(grid)
library(gridExtra)
kable(Nightingale)
1854-04-01 |
Apr |
1854 |
8571 |
1 |
0 |
5 |
1.4 |
0.0 |
7.0 |
1854-05-01 |
May |
1854 |
23333 |
12 |
0 |
9 |
6.2 |
0.0 |
4.6 |
1854-06-01 |
Jun |
1854 |
28333 |
11 |
0 |
6 |
4.7 |
0.0 |
2.5 |
1854-07-01 |
Jul |
1854 |
28722 |
359 |
0 |
23 |
150.0 |
0.0 |
9.6 |
1854-08-01 |
Aug |
1854 |
30246 |
828 |
1 |
30 |
328.5 |
0.4 |
11.9 |
1854-09-01 |
Sep |
1854 |
30290 |
788 |
81 |
70 |
312.2 |
32.1 |
27.7 |
1854-10-01 |
Oct |
1854 |
30643 |
503 |
132 |
128 |
197.0 |
51.7 |
50.1 |
1854-11-01 |
Nov |
1854 |
29736 |
844 |
287 |
106 |
340.6 |
115.8 |
42.8 |
1854-12-01 |
Dec |
1854 |
32779 |
1725 |
114 |
131 |
631.5 |
41.7 |
48.0 |
1855-01-01 |
Jan |
1855 |
32393 |
2761 |
83 |
324 |
1022.8 |
30.7 |
120.0 |
1855-02-01 |
Feb |
1855 |
30919 |
2120 |
42 |
361 |
822.8 |
16.3 |
140.1 |
1855-03-01 |
Mar |
1855 |
30107 |
1205 |
32 |
172 |
480.3 |
12.8 |
68.6 |
1855-04-01 |
Apr |
1855 |
32252 |
477 |
48 |
57 |
177.5 |
17.9 |
21.2 |
1855-05-01 |
May |
1855 |
35473 |
508 |
49 |
37 |
171.8 |
16.6 |
12.5 |
1855-06-01 |
Jun |
1855 |
38863 |
802 |
209 |
31 |
247.6 |
64.5 |
9.6 |
1855-07-01 |
Jul |
1855 |
42647 |
382 |
134 |
33 |
107.5 |
37.7 |
9.3 |
1855-08-01 |
Aug |
1855 |
44614 |
483 |
164 |
25 |
129.9 |
44.1 |
6.7 |
1855-09-01 |
Sep |
1855 |
47751 |
189 |
276 |
20 |
47.5 |
69.4 |
5.0 |
1855-10-01 |
Oct |
1855 |
46852 |
128 |
53 |
18 |
32.8 |
13.6 |
4.6 |
1855-11-01 |
Nov |
1855 |
37853 |
178 |
33 |
32 |
56.4 |
10.5 |
10.1 |
1855-12-01 |
Dec |
1855 |
43217 |
91 |
18 |
28 |
25.3 |
5.0 |
7.8 |
1856-01-01 |
Jan |
1856 |
44212 |
42 |
2 |
48 |
11.4 |
0.5 |
13.0 |
1856-02-01 |
Feb |
1856 |
43485 |
24 |
0 |
19 |
6.6 |
0.0 |
5.2 |
1856-03-01 |
Mar |
1856 |
46140 |
15 |
0 |
35 |
3.9 |
0.0 |
9.1 |
Night <- Nightingale %>%
as_tibble %>%
subset(select = c(1, 8:10))
kable(Night)
1854-04-01 |
1.4 |
0.0 |
7.0 |
1854-05-01 |
6.2 |
0.0 |
4.6 |
1854-06-01 |
4.7 |
0.0 |
2.5 |
1854-07-01 |
150.0 |
0.0 |
9.6 |
1854-08-01 |
328.5 |
0.4 |
11.9 |
1854-09-01 |
312.2 |
32.1 |
27.7 |
1854-10-01 |
197.0 |
51.7 |
50.1 |
1854-11-01 |
340.6 |
115.8 |
42.8 |
1854-12-01 |
631.5 |
41.7 |
48.0 |
1855-01-01 |
1022.8 |
30.7 |
120.0 |
1855-02-01 |
822.8 |
16.3 |
140.1 |
1855-03-01 |
480.3 |
12.8 |
68.6 |
1855-04-01 |
177.5 |
17.9 |
21.2 |
1855-05-01 |
171.8 |
16.6 |
12.5 |
1855-06-01 |
247.6 |
64.5 |
9.6 |
1855-07-01 |
107.5 |
37.7 |
9.3 |
1855-08-01 |
129.9 |
44.1 |
6.7 |
1855-09-01 |
47.5 |
69.4 |
5.0 |
1855-10-01 |
32.8 |
13.6 |
4.6 |
1855-11-01 |
56.4 |
10.5 |
10.1 |
1855-12-01 |
25.3 |
5.0 |
7.8 |
1856-01-01 |
11.4 |
0.5 |
13.0 |
1856-02-01 |
6.6 |
0.0 |
5.2 |
1856-03-01 |
3.9 |
0.0 |
9.1 |
Night %<>%
gather(key = "Cause", value = "Deaths", -Date) %>%
mutate(Month = gl(12, 1, 72, labels = month.name[c(4:12, 1:3)])) %>%
mutate(Regime = gl(2, 12, 72, labels = c("Before", "After"), ordered = TRUE))
kable(Night)
1854-04-01 |
Disease.rate |
1.4 |
April |
Before |
1854-05-01 |
Disease.rate |
6.2 |
May |
Before |
1854-06-01 |
Disease.rate |
4.7 |
June |
Before |
1854-07-01 |
Disease.rate |
150.0 |
July |
Before |
1854-08-01 |
Disease.rate |
328.5 |
August |
Before |
1854-09-01 |
Disease.rate |
312.2 |
September |
Before |
1854-10-01 |
Disease.rate |
197.0 |
October |
Before |
1854-11-01 |
Disease.rate |
340.6 |
November |
Before |
1854-12-01 |
Disease.rate |
631.5 |
December |
Before |
1855-01-01 |
Disease.rate |
1022.8 |
January |
Before |
1855-02-01 |
Disease.rate |
822.8 |
February |
Before |
1855-03-01 |
Disease.rate |
480.3 |
March |
Before |
1855-04-01 |
Disease.rate |
177.5 |
April |
After |
1855-05-01 |
Disease.rate |
171.8 |
May |
After |
1855-06-01 |
Disease.rate |
247.6 |
June |
After |
1855-07-01 |
Disease.rate |
107.5 |
July |
After |
1855-08-01 |
Disease.rate |
129.9 |
August |
After |
1855-09-01 |
Disease.rate |
47.5 |
September |
After |
1855-10-01 |
Disease.rate |
32.8 |
October |
After |
1855-11-01 |
Disease.rate |
56.4 |
November |
After |
1855-12-01 |
Disease.rate |
25.3 |
December |
After |
1856-01-01 |
Disease.rate |
11.4 |
January |
After |
1856-02-01 |
Disease.rate |
6.6 |
February |
After |
1856-03-01 |
Disease.rate |
3.9 |
March |
After |
1854-04-01 |
Wounds.rate |
0.0 |
April |
Before |
1854-05-01 |
Wounds.rate |
0.0 |
May |
Before |
1854-06-01 |
Wounds.rate |
0.0 |
June |
Before |
1854-07-01 |
Wounds.rate |
0.0 |
July |
Before |
1854-08-01 |
Wounds.rate |
0.4 |
August |
Before |
1854-09-01 |
Wounds.rate |
32.1 |
September |
Before |
1854-10-01 |
Wounds.rate |
51.7 |
October |
Before |
1854-11-01 |
Wounds.rate |
115.8 |
November |
Before |
1854-12-01 |
Wounds.rate |
41.7 |
December |
Before |
1855-01-01 |
Wounds.rate |
30.7 |
January |
Before |
1855-02-01 |
Wounds.rate |
16.3 |
February |
Before |
1855-03-01 |
Wounds.rate |
12.8 |
March |
Before |
1855-04-01 |
Wounds.rate |
17.9 |
April |
After |
1855-05-01 |
Wounds.rate |
16.6 |
May |
After |
1855-06-01 |
Wounds.rate |
64.5 |
June |
After |
1855-07-01 |
Wounds.rate |
37.7 |
July |
After |
1855-08-01 |
Wounds.rate |
44.1 |
August |
After |
1855-09-01 |
Wounds.rate |
69.4 |
September |
After |
1855-10-01 |
Wounds.rate |
13.6 |
October |
After |
1855-11-01 |
Wounds.rate |
10.5 |
November |
After |
1855-12-01 |
Wounds.rate |
5.0 |
December |
After |
1856-01-01 |
Wounds.rate |
0.5 |
January |
After |
1856-02-01 |
Wounds.rate |
0.0 |
February |
After |
1856-03-01 |
Wounds.rate |
0.0 |
March |
After |
1854-04-01 |
Other.rate |
7.0 |
April |
Before |
1854-05-01 |
Other.rate |
4.6 |
May |
Before |
1854-06-01 |
Other.rate |
2.5 |
June |
Before |
1854-07-01 |
Other.rate |
9.6 |
July |
Before |
1854-08-01 |
Other.rate |
11.9 |
August |
Before |
1854-09-01 |
Other.rate |
27.7 |
September |
Before |
1854-10-01 |
Other.rate |
50.1 |
October |
Before |
1854-11-01 |
Other.rate |
42.8 |
November |
Before |
1854-12-01 |
Other.rate |
48.0 |
December |
Before |
1855-01-01 |
Other.rate |
120.0 |
January |
Before |
1855-02-01 |
Other.rate |
140.1 |
February |
Before |
1855-03-01 |
Other.rate |
68.6 |
March |
Before |
1855-04-01 |
Other.rate |
21.2 |
April |
After |
1855-05-01 |
Other.rate |
12.5 |
May |
After |
1855-06-01 |
Other.rate |
9.6 |
June |
After |
1855-07-01 |
Other.rate |
9.3 |
July |
After |
1855-08-01 |
Other.rate |
6.7 |
August |
After |
1855-09-01 |
Other.rate |
5.0 |
September |
After |
1855-10-01 |
Other.rate |
4.6 |
October |
After |
1855-11-01 |
Other.rate |
10.1 |
November |
After |
1855-12-01 |
Other.rate |
7.8 |
December |
After |
1856-01-01 |
Other.rate |
13.0 |
January |
After |
1856-02-01 |
Other.rate |
5.2 |
February |
After |
1856-03-01 |
Other.rate |
9.1 |
March |
After |
str(Night)
## Classes 'tbl_df', 'tbl' and 'data.frame': 72 obs. of 5 variables:
## $ Date : Date, format: "1854-04-01" "1854-05-01" ...
## $ Cause : chr "Disease.rate" "Disease.rate" "Disease.rate" "Disease.rate" ...
## $ Deaths: num 1.4 6.2 4.7 150 328.5 ...
## $ Month : Factor w/ 12 levels "April","May",..: 1 2 3 4 5 6 7 8 9 10 ...
## $ Regime: Ord.factor w/ 2 levels "Before"<"After": 1 1 1 1 1 1 1 1 1 1 ...
Night$Cause %<>%
sub("\\.rate", "", .)
Night$Cause %<>%
factor(levels = c("Disease", "Wounds", "Other"))
Night %>%
kable(align = c("c", "c", "r", "c", "c"))
1854-04-01 |
Disease |
1.4 |
April |
Before |
1854-05-01 |
Disease |
6.2 |
May |
Before |
1854-06-01 |
Disease |
4.7 |
June |
Before |
1854-07-01 |
Disease |
150.0 |
July |
Before |
1854-08-01 |
Disease |
328.5 |
August |
Before |
1854-09-01 |
Disease |
312.2 |
September |
Before |
1854-10-01 |
Disease |
197.0 |
October |
Before |
1854-11-01 |
Disease |
340.6 |
November |
Before |
1854-12-01 |
Disease |
631.5 |
December |
Before |
1855-01-01 |
Disease |
1022.8 |
January |
Before |
1855-02-01 |
Disease |
822.8 |
February |
Before |
1855-03-01 |
Disease |
480.3 |
March |
Before |
1855-04-01 |
Disease |
177.5 |
April |
After |
1855-05-01 |
Disease |
171.8 |
May |
After |
1855-06-01 |
Disease |
247.6 |
June |
After |
1855-07-01 |
Disease |
107.5 |
July |
After |
1855-08-01 |
Disease |
129.9 |
August |
After |
1855-09-01 |
Disease |
47.5 |
September |
After |
1855-10-01 |
Disease |
32.8 |
October |
After |
1855-11-01 |
Disease |
56.4 |
November |
After |
1855-12-01 |
Disease |
25.3 |
December |
After |
1856-01-01 |
Disease |
11.4 |
January |
After |
1856-02-01 |
Disease |
6.6 |
February |
After |
1856-03-01 |
Disease |
3.9 |
March |
After |
1854-04-01 |
Wounds |
0.0 |
April |
Before |
1854-05-01 |
Wounds |
0.0 |
May |
Before |
1854-06-01 |
Wounds |
0.0 |
June |
Before |
1854-07-01 |
Wounds |
0.0 |
July |
Before |
1854-08-01 |
Wounds |
0.4 |
August |
Before |
1854-09-01 |
Wounds |
32.1 |
September |
Before |
1854-10-01 |
Wounds |
51.7 |
October |
Before |
1854-11-01 |
Wounds |
115.8 |
November |
Before |
1854-12-01 |
Wounds |
41.7 |
December |
Before |
1855-01-01 |
Wounds |
30.7 |
January |
Before |
1855-02-01 |
Wounds |
16.3 |
February |
Before |
1855-03-01 |
Wounds |
12.8 |
March |
Before |
1855-04-01 |
Wounds |
17.9 |
April |
After |
1855-05-01 |
Wounds |
16.6 |
May |
After |
1855-06-01 |
Wounds |
64.5 |
June |
After |
1855-07-01 |
Wounds |
37.7 |
July |
After |
1855-08-01 |
Wounds |
44.1 |
August |
After |
1855-09-01 |
Wounds |
69.4 |
September |
After |
1855-10-01 |
Wounds |
13.6 |
October |
After |
1855-11-01 |
Wounds |
10.5 |
November |
After |
1855-12-01 |
Wounds |
5.0 |
December |
After |
1856-01-01 |
Wounds |
0.5 |
January |
After |
1856-02-01 |
Wounds |
0.0 |
February |
After |
1856-03-01 |
Wounds |
0.0 |
March |
After |
1854-04-01 |
Other |
7.0 |
April |
Before |
1854-05-01 |
Other |
4.6 |
May |
Before |
1854-06-01 |
Other |
2.5 |
June |
Before |
1854-07-01 |
Other |
9.6 |
July |
Before |
1854-08-01 |
Other |
11.9 |
August |
Before |
1854-09-01 |
Other |
27.7 |
September |
Before |
1854-10-01 |
Other |
50.1 |
October |
Before |
1854-11-01 |
Other |
42.8 |
November |
Before |
1854-12-01 |
Other |
48.0 |
December |
Before |
1855-01-01 |
Other |
120.0 |
January |
Before |
1855-02-01 |
Other |
140.1 |
February |
Before |
1855-03-01 |
Other |
68.6 |
March |
Before |
1855-04-01 |
Other |
21.2 |
April |
After |
1855-05-01 |
Other |
12.5 |
May |
After |
1855-06-01 |
Other |
9.6 |
June |
After |
1855-07-01 |
Other |
9.3 |
July |
After |
1855-08-01 |
Other |
6.7 |
August |
After |
1855-09-01 |
Other |
5.0 |
September |
After |
1855-10-01 |
Other |
4.6 |
October |
After |
1855-11-01 |
Other |
10.1 |
November |
After |
1855-12-01 |
Other |
7.8 |
December |
After |
1856-01-01 |
Other |
13.0 |
January |
After |
1856-02-01 |
Other |
5.2 |
February |
After |
1856-03-01 |
Other |
9.1 |
March |
After |
Plot
barplot
cxc_b <- ggplot(data = Night,
aes(x = factor(Date), y = Deaths, fill = Cause)) +
geom_bar(width = 0.8, stat = "identity", position = "stack", colour = "black") +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
theme(legend.position = c(0.8, 0.8)) +
scale_fill_brewer(type = "qual", palette = "Pastel1")
cxc_b

Coxcomb Plot
cxc1 <- ggplot(data = Night %>% subset(Regime == "Before"),
aes(x = Month, y = Deaths, fill = Cause)) +
geom_bar(width = 1, stat = "identity", position = "stack", colour = "black") +
scale_y_sqrt() +
coord_polar(start = 3 * pi / 2)
cxc1

cxc2 <- ggplot(data = Night %>% subset(Regime == "After"),
aes(x = Month, y = Deaths, fill = Cause)) +
geom_bar(width = 1, stat = "identity", position = "stack", colour = "black") +
scale_y_sqrt() +
coord_polar(start = 3 * pi / 2)
cxc2

facet
Regime_lab <- c("Before", "After")
names(Regime_lab) <- c("Before", "After")
cxc_f <- ggplot(data = Night,
aes(x = Month, y = Deaths, fill = Cause)) +
geom_bar(width = 1, stat = "identity", position = "stack", colour = "black") +
scale_y_sqrt() +
scale_fill_brewer(type = "qual", palette = "Pastel2") +
facet_grid(. ~ Regime, scales = "fixed", labeller = labeller(Regime = Regime_lab)) +
coord_polar(start = 3 * pi / 2)
cxc_f
