Hello! I am working on the Hagelloch measles dataset from the ‘outbreaks’ package. I am trying to create a descriptive table with case counts and proportions by age category. I am using adorn_pct_formatting() to add proportions, but the code is converting all columns in the table, rather than just my ‘proportion’ column. I tried to avoid this by specifying column ‘3’. Can anyone help with this?
# install/load packages ---------------------------------------------------
pacman::p_load(
rio,
janitor,
here,
datapasta,
reprex,
epikit,
flextable,
gtsummary,
outbreaks,
tidyverse
)
# import data -------------------------------------------------------------
measles_raw <- data.frame(
case_id = c(1L,2L,
3L,4L,5L,6L,7L,8L,9L,10L,11L,12L,
13L,14L,15L,16L,17L,18L,19L,20L,21L,
22L,23L,24L,25L,26L,27L,28L,29L,30L,
31L,32L,33L,34L,35L,36L,37L,38L,39L,
40L,41L,42L,43L,44L,45L,46L,47L,48L,
49L,50L,51L,52L,53L,54L,55L,56L,57L,
58L,59L,60L,61L,62L,63L,64L,65L,66L,
67L,68L,69L,70L,71L,72L,73L,74L,75L,
76L,77L,78L,79L,80L,81L,82L,83L,84L,
85L,86L,87L,88L,89L,90L,91L,92L,93L,
94L,95L,96L,97L,98L,99L,100L,101L,102L,
103L,104L,105L,106L,107L,108L,109L,
110L,111L,112L,113L,114L,115L,116L,117L,
118L,119L,120L,121L,122L,123L,124L,
125L,126L,127L,128L,129L,130L,131L,132L,
133L,134L,135L,136L,137L,138L,139L,
140L,141L,142L,143L,144L,145L,146L,147L,
148L,149L,150L,151L,152L,153L,154L,
155L,156L,157L,158L,159L,160L,161L,162L,
163L,164L,165L,166L,167L,168L,169L,
170L,171L,172L,173L,174L,175L,176L,177L,
178L,179L,180L,181L,182L,183L,184L,
185L,186L,187L,188L),
infector = c(45L,
45L,172L,180L,45L,180L,42L,45L,182L,45L,
182L,45L,12L,181L,45L,181L,181L,175L,
181L,181L,181L,45L,45L,22L,22L,45L,
10L,180L,31L,45L,45L,45L,45L,181L,
182L,34L,182L,17L,45L,93L,180L,178L,42L,
45L,184L,45L,45L,10L,17L,8L,31L,17L,
17L,17L,17L,45L,56L,45L,58L,58L,186L,
11L,19L,45L,64L,64L,11L,179L,54L,
180L,10L,12L,180L,45L,74L,5L,180L,181L,
179L,78L,39L,45L,82L,82L,44L,1L,47L,
47L,12L,93L,93L,93L,45L,183L,10L,97L,
45L,64L,11L,47L,7L,21L,37L,58L,74L,
42L,19L,106L,12L,18L,34L,21L,31L,78L,
16L,45L,116L,116L,116L,7L,11L,188L,
7L,7L,7L,37L,106L,7L,7L,56L,56L,14L,
18L,78L,79L,17L,16L,34L,4L,6L,NA,
145L,145L,145L,45L,172L,18L,14L,39L,
148L,153L,153L,45L,153L,73L,45L,156L,
156L,37L,68L,148L,123L,123L,102L,102L,
153L,110L,98L,153L,153L,169L,174L,NA,NA,
173L,146L,184L,184L,177L,177L,184L,
184L,184L,NA,82L,45L,82L,175L),
date_of_prodrome = c("1861-11-21","1861-11-23","1861-11-28",
"1861-11-27","1861-11-22","1861-11-26","1861-11-24",
"1861-11-21","1861-11-26","1861-11-21",
"1861-11-25","1861-11-20","1861-11-30",
"1861-11-22","1861-11-24","1861-11-21",
"1861-11-20","1861-11-23","1861-11-20",
"1861-11-22","1861-11-23","1861-11-21","1861-11-21",
"1861-11-30","1861-11-30","1861-11-22",
"1861-11-30","1861-11-25","1861-11-30",
"1861-11-25","1861-11-21","1861-11-21",
"1861-11-24","1861-11-21","1861-11-25","1861-12-01",
"1861-11-25","1861-11-29","1861-11-23",
"1861-12-03","1861-11-27","1861-11-15",
"1861-11-26","1861-11-22","1861-11-11",
"1861-11-21","1861-11-24","1861-12-01",
"1861-11-28","1861-12-02","1861-12-01","1861-11-29",
"1861-11-30","1861-12-02","1861-12-01",
"1861-11-22","1861-12-01","1861-11-22",
"1861-11-30","1861-12-02","1861-12-01",
"1861-12-02","1861-11-29","1861-11-21",
"1861-12-01","1861-12-03","1861-12-02","1861-11-30",
"1861-12-13","1861-11-28","1861-12-01",
"1861-12-01","1861-11-27","1861-11-21",
"1861-11-29","1861-12-03","1861-11-27",
"1861-11-22","1861-11-27","1861-11-30","1861-12-01",
"1861-11-22","1861-12-01","1861-11-30",
"1861-12-02","1861-12-03","1861-12-02",
"1861-12-02","1861-12-02","1861-12-02",
"1861-12-03","1861-12-04","1861-11-22",
"1861-11-20","1861-12-04","1861-11-30","1861-11-21",
"1861-12-01","1861-12-04","1861-12-03",
"1861-12-04","1861-12-03","1861-12-03",
"1861-12-04","1861-12-05","1861-11-23",
"1861-11-30","1861-12-04","1861-12-05",
"1861-12-04","1861-12-01","1861-12-03","1861-12-04",
"1861-12-01","1861-12-01","1861-11-21",
"1861-12-02","1861-12-02","1861-12-01",
"1861-12-06","1861-12-06","1861-12-05",
"1861-12-03","1861-12-05","1861-12-07","1861-12-05",
"1861-12-07","1861-12-03","1861-12-05",
"1861-11-30","1861-12-05","1861-12-03",
"1861-12-05","1861-12-01","1861-12-06",
"1861-11-29","1861-12-01","1861-12-01",
"1861-12-07","1861-12-05","1862-01-24","1861-12-05",
"1861-12-05","1861-12-06","1861-11-23",
"1861-12-01","1861-12-03","1861-12-03",
"1861-12-05","1861-12-11","1861-12-07",
"1861-12-06","1861-11-24","1861-12-03",
"1861-12-09","1861-11-22","1861-12-04","1861-12-04",
"1861-12-09","1861-12-12","1861-12-12",
"1861-12-12","1861-12-13","1861-12-13",
"1861-12-15","1861-12-04","1861-12-14",
"1861-12-09","1861-12-04","1861-12-07","1861-12-15",
"1861-11-19","1861-11-01","1861-11-08",
"1861-11-12","1861-12-11","1861-11-07",
"1861-11-07","1861-11-18","1861-11-17",
"1861-11-13","1861-11-15","1861-11-11",
"1861-10-30","1861-12-03","1861-11-22","1861-12-07",
"1861-11-23"),
date_of_rash = c("1861-11-25","1861-11-27","1861-12-02",
"1861-11-28","1861-11-27","1861-11-29","1861-11-28",
"1861-11-26","1861-11-30","1861-11-25",
"1861-11-30","1861-11-25","1861-12-05",
"1861-11-29","1861-11-29","1861-11-25",
"1861-11-25","1861-11-27","1861-11-24",
"1861-11-27","1861-11-29","1861-11-25","1861-11-25",
"1861-12-04","1861-12-04","1861-11-27",
"1861-12-02","1861-11-30","1861-12-02",
"1861-11-29","1861-11-24","1861-11-24",
"1861-11-26","1861-11-26","1861-11-30","1861-12-05",
"1861-12-02","1861-12-05","1861-11-26",
"1861-12-07","1861-11-29","1861-11-19",
"1861-11-30","1861-11-24","1861-11-13",
"1861-11-27","1861-11-27","1861-12-05",
"1861-12-06","1861-12-06","1861-12-05","1861-12-05",
"1861-12-04","1861-12-05","1861-12-05",
"1861-11-29","1861-12-05","1861-11-26",
"1861-12-04","1861-12-06","1861-12-03",
"1861-12-06","1861-12-08","1861-11-27",
"1861-12-06","1861-12-05","1861-12-07","1861-12-02",
"1861-12-17","1861-12-03","1861-12-05",
"1861-12-06","1861-12-05","1861-11-26",
"1861-12-05","1861-12-06","1861-11-27",
"1861-11-26","1861-12-05","1861-12-05","1861-12-04",
"1861-11-26","1861-12-05","1861-12-04",
"1861-12-05","1861-12-05","1861-12-07",
"1861-12-07","1861-12-05","1861-12-05",
"1861-12-05","1861-12-07","1861-11-26",
"1861-12-03","1861-12-07","1861-12-04","1861-11-25",
"1861-12-12","1861-12-10","1861-12-07",
"1861-12-06","1861-12-07","1861-12-07",
"1861-12-06","1861-12-08","1861-11-26",
"1861-12-07","1861-12-06","1861-12-07",
"1861-12-06","1861-12-05","1861-12-08","1861-12-07",
"1861-12-05","1861-12-07","1861-11-25",
"1861-12-06","1861-12-06","1861-12-08",
"1861-12-08","1861-12-08","1861-12-10",
"1861-12-07","1861-12-08","1861-12-09","1861-12-09",
"1861-12-09","1861-12-05","1861-12-07",
"1861-12-06","1861-12-06","1861-12-07",
"1861-12-08","1861-12-06","1861-12-07",
"1861-12-07","1861-12-06","1861-12-05",
"1861-12-11","1861-12-10","1862-01-27","1861-12-08",
"1861-12-08","1861-12-08","1861-11-27",
"1861-12-07","1861-12-07","1861-12-07",
"1861-12-09","1861-12-15","1861-12-11",
"1861-12-08","1861-11-27","1861-12-04",
"1861-12-13","1861-11-24","1861-12-07","1861-12-07",
"1861-12-13","1861-12-13","1861-12-16",
"1861-12-16","1861-12-16","1861-12-15",
"1861-12-19","1861-12-07","1861-12-18",
"1861-12-15","1861-12-07","1861-12-10","1861-12-17",
"1861-11-21","1861-11-03","1861-11-08",
"1861-11-15","1861-12-15","1861-11-11",
"1861-11-11","1861-11-21","1861-11-21",
"1861-11-17","1861-11-18","1861-11-15",
"1861-11-06","1861-12-07","1861-11-26","1861-12-11",
"1861-11-27"),
date_of_death = c(NA,NA,
NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,
NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,
NA,NA,"1861-12-14",NA,NA,NA,NA,NA,NA,
NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,
NA,NA,NA,NA,NA,NA,NA,"1861-12-12",NA,
"1861-12-15",NA,NA,NA,NA,NA,
"1861-12-12",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,
NA,NA,NA,NA,NA,NA,NA,NA,
"1861-12-12",NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,
NA,NA,NA,NA,NA,NA,"1861-12-17",NA,
NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,
NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,
"1861-12-13",NA,NA,NA,"1861-12-15",NA,
NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,
NA,NA,"1861-12-09",NA,NA,NA,NA,NA,NA,
"1861-12-15",NA,NA,NA,NA,NA,NA,NA,NA,
NA,NA,NA,NA,NA,"1861-12-28",NA,NA,NA,
NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,
NA,NA,NA,NA,"1861-11-18",NA,NA,NA,NA,
NA,NA),
age = c(7,6,4,
13,8,12,6,10,13,7,11,7,13,13,8,
15,10,2,11,10,13,10,7,4,12,7,5,10,
13,11,9,7,7,11,13,11,13,12,10,13,
12,4,2,10,7,13,11,3,10,6,4,13,6,
4,11,8,3,9,10,2,5,14,12,7,2,5,
11,2,1,13,10,10,11,10,13,2,8,11,5,
12,12,8,10,6,5,3,12,10,3,11,4,2,
8,4,1,2,10,3,5,12,7,12,12,5,3,
4,12,6,6,3,12,10,0,13,11,8,14,2,
0,1,10,1,1,3,2,5,1,5,4,12,1,11,
2,13,2,13,10,11,13,2,4,5,11,2,8,
4,0,13,4,0,2,4,10,6,13,8,4,3,2,
0,6,6,1,3,2,1,0,1,4,10,0,3,6,3,
2,0,8,4,1,10,10,13,4,13,3,6,0,1),
family_id = c(41L,
41L,41L,61L,42L,42L,26L,44L,44L,29L,
27L,32L,32L,22L,22L,43L,43L,43L,11L,
11L,11L,35L,35L,35L,35L,67L,29L,65L,
15L,15L,15L,15L,1L,1L,10L,46L,46L,54L,
5L,36L,59L,33L,33L,45L,48L,48L,48L,
29L,49L,44L,15L,43L,43L,43L,43L,20L,
20L,24L,24L,24L,8L,8L,8L,30L,30L,30L,
55L,16L,63L,21L,29L,32L,47L,23L,23L,
42L,18L,18L,18L,18L,5L,21L,21L,21L,
45L,41L,60L,60L,32L,36L,36L,36L,36L,
10L,29L,28L,28L,27L,27L,69L,26L,68L,
54L,24L,23L,34L,34L,34L,32L,49L,2L,
2L,15L,52L,66L,40L,40L,40L,40L,26L,
50L,50L,25L,7L,7L,54L,34L,6L,6L,20L,
20L,22L,53L,18L,18L,12L,12L,3L,3L,
58L,50L,39L,39L,39L,39L,13L,13L,19L,
19L,19L,37L,37L,37L,37L,47L,31L,31L,
31L,46L,16L,19L,25L,25L,14L,14L,37L,
49L,56L,38L,38L,38L,62L,9L,9L,9L,64L,
17L,17L,17L,17L,4L,4L,4L,51L,21L,57L,
21L,57L),
x_loc = c(142.5,
142.5,142.5,165,145,145,272.5,97.5,
97.5,240,270,195,195,227.5,227.5,172.5,
172.5,172.5,167.5,167.5,167.5,167.5,
167.5,167.5,167.5,7.5,240,15,125,125,125,
125,125,125,190,280,280,280,227.5,
162.5,185,170,170,150,75,75,75,240,175,
97.5,125,172.5,172.5,172.5,172.5,265,
265,250,250,250,270,270,270,237.5,
237.5,237.5,267.5,165,150,205,240,195,
182.5,257.5,257.5,145,187.5,187.5,187.5,
187.5,227.5,205,205,205,150,142.5,
77.5,77.5,195,162.5,162.5,162.5,162.5,190,
240,230,230,270,270,252.5,272.5,
257.5,280,250,257.5,170,170,170,195,175,
142.5,142.5,125,200,75,127.5,127.5,
127.5,127.5,272.5,252.5,252.5,280,280,280,
280,170,240,240,265,265,227.5,227.5,
187.5,187.5,97.5,97.5,152.5,152.5,195,
252.5,135,135,135,135,72.5,72.5,255,
255,255,132.5,132.5,132.5,132.5,182.5,
182.5,182.5,182.5,280,165,255,280,280,
257.5,257.5,132.5,175,267.5,132.5,
132.5,132.5,185,212.5,212.5,212.5,72.5,
182.5,182.5,182.5,182.5,182.5,182.5,182.5,
182.5,205,212.5,205,212.5),
y_loc = c(100,
100,100,102.5,120,120,147.5,155,155,75,
135,27.5,27.5,185,185,172.5,172.5,
172.5,5,5,5,5,5,5,5,37.5,75,47.5,
187.5,187.5,187.5,187.5,187.5,187.5,115,
192.5,192.5,192.5,217.5,47.5,80,17.5,
17.5,15,55,55,55,75,140,155,187.5,172.5,
172.5,172.5,172.5,225,225,210,210,
210,102.5,102.5,102.5,90,90,90,127.5,
192.5,165,182.5,75,27.5,55,195,195,120,
240,240,240,240,217.5,182.5,182.5,
182.5,15,100,42.5,42.5,27.5,47.5,47.5,
47.5,47.5,115,75,120,120,135,135,150,
147.5,180,192.5,210,195,17.5,17.5,17.5,
27.5,140,180,180,187.5,210,20,147.5,
147.5,147.5,147.5,147.5,150,150,157.5,
167.5,167.5,192.5,17.5,225,225,225,225,
185,202.5,240,240,155,155,182.5,
182.5,130,150,125,125,125,125,152.5,152.5,
230,230,230,80,80,80,80,55,55,55,
55,192.5,192.5,230,157.5,157.5,180,180,
80,140,127.5,80,80,80,175,107.5,
107.5,107.5,152.5,200,200,200,200,200,
200,200,200,182.5,90,182.5,90),
gender = as.factor(c("female","female",
"female","male","female","male",
"male","male","male","female",
"female","female","male","female",
"male","female","female",
"female","male","male","female",
"female","female","male","female",
"male","male","female","male",
"female","female","male","female",
"male","female","male","male",
NA,"male","male","male","female",
"male","male","male","male",
"female","female","male","female",
"male","male","male","male",
"female","male","male","male",
"female","male","female","male",
"male","male","male","female",
"female","female","male","male",
"female","female","female",
"female","male","male","female",
"female","female","male","male",
"male","female","male","female",
"female","female","female","female",
"male","female","female",
"male","female","male","male","male",
"male","male","male","female",
"male",NA,"male","male","male",
"female","male","female",
"male","male","male","female",NA,
"female","male","male","female",
"female","male","male","female",
"female","male","female",NA,
"male","male","female","female",
"male","male","female","male",
"male","female","female",NA,NA,NA,
"female","male","female",
"male","female","female","female",
"female","male","male","female",
"female","female","female","male",
"male","female","female",
"female","female","female","female",
"female","male","male","male",
"male","male","male","male",
"male","female","male","female",
"male",NA,"female","male","female",
"male","female","male","male",
NA,"male",NA,"male",NA)),
class = as.factor(c("1","1","0","2",
"1","2","0","1","2","1","2",
"1","2","2","1","2","2","0",
"2","2","2","1","1","0","2",
"1","0","2","2","2","1","1",
"1","2","2","2","2","2","1",
"2","2","0","0","1","1","2",
"2","0","2","0","0","2","0",
"0","2","1","0","1","2","0",
"0","2","2","1","0","0","2",
"0","0","2","2","2","2","1",
"2","0","1","2","0","2","2",
"1","2","0","0","0","2","2",
"0","2","0","0","1","0","0",
"0","1","0","0","2","0","2",
"2","0","0","0","2","0","0",
"0","2","2","0","2","2","1",
"2","0","0","0","2","0","0",
"0","0","0","0","0","0","2",
"0","2","0","2","0","2","2",
"2","2","0","0","0","2","0",
"1","0","0","2","0","0","0",
"0","1","0","2","1","0","0",
"0","0","0","0","0","0","0",
"0","0","0","0","2","0","0",
"0","0","0","0","1","0","1",
"2","2","2","0","2","0","0",
"0","0")),
complications = as.factor(c("yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes",
"yes","yes","yes","yes","yes")),
age_cat = as.factor(c("5-9","5-9","0-4",
"10-14","5-9","10-14","5-9",
"10-14","10-14","5-9","10-14","5-9",
"10-14","10-14","5-9","15+",
"10-14","0-4","10-14","10-14",
"10-14","10-14","5-9","0-4",
"10-14","5-9","5-9","10-14","10-14",
"10-14","5-9","5-9","5-9",
"10-14","10-14","10-14","10-14",
"10-14","10-14","10-14","10-14",
"0-4","0-4","10-14","5-9","10-14",
"10-14","0-4","10-14","5-9",
"0-4","10-14","5-9","0-4",
"10-14","5-9","0-4","5-9","10-14",
"0-4","5-9","10-14","10-14","5-9",
"0-4","5-9","10-14","0-4",
"0-4","10-14","10-14","10-14",
"10-14","10-14","10-14","0-4","5-9",
"10-14","5-9","10-14","10-14",
"5-9","10-14","5-9","5-9",
"0-4","10-14","10-14","0-4","10-14",
"0-4","0-4","5-9","0-4","0-4",
"0-4","10-14","0-4","5-9",
"10-14","5-9","10-14","10-14",
"5-9","0-4","0-4","10-14","5-9",
"5-9","0-4","10-14","10-14","0-4",
"10-14","10-14","5-9","10-14",
"0-4","0-4","0-4","10-14",
"0-4","0-4","0-4","0-4","5-9",
"0-4","5-9","0-4","10-14","0-4",
"10-14","0-4","10-14","0-4",
"10-14","10-14","10-14","10-14",
"0-4","0-4","5-9","10-14","0-4",
"5-9","0-4","0-4","10-14","0-4",
"0-4","0-4","0-4","10-14","5-9",
"10-14","5-9","0-4","0-4",
"0-4","0-4","5-9","5-9","0-4",
"0-4","0-4","0-4","0-4","0-4",
"0-4","10-14","0-4","0-4","5-9",
"0-4","0-4","0-4","5-9","0-4",
"0-4","10-14","10-14","10-14",
"0-4","10-14","0-4","5-9","0-4",
"0-4"))
)
# clean the raw dataset ---------------------------------------------------
# Clean the raw surveillance case line list
measles <- measles_raw %>%
# automatically clean column names
clean_names() %>%
#recode gender
mutate(gender = recode(gender,
"m" = "male",
"f" = "female")) %>%
# create age category column
mutate(age_cat = age_categories(
age,
lower = 0,
upper = 15,
by = 5))
# Create descriptive tables -------
measles %>%
group_by(age_cat) %>%
summarise(
total_cases = n(),
proportion = total_cases / nrow(measles) # Calculate proportion within each age category
) %>%
adorn_totals(where = "row") %>%
adorn_pct_formatting(3) %>%
qflextable() %>%
set_header_labels(values =
list(
age_cat = "Age Group",
total_cases = "Total Cases",
proportion = "Proportion"
))
Created on 2024-03-04 with reprex v2.1.0
Session info
</details>
Thanks in advance!