Code
<-dget("df_pings2_bp_data") df_bp
Load rerquired packages
Read in the data
<-dget("df_pings2_bp_data") df_bp
%>%
df_bp select(
Site, sbp_m0, dbp_m0, sbp_m1, dbp_m1, sbp_m3, dbp_m3, sbp_m6, dbp_m6, %>%
sbp_m9, dbp_m9, sbp_m12, dbp_m12) pivot_longer(
cols = c(starts_with("sbp"), starts_with("dbp")),
names_to = "measure", values_to = "values") %>%
mutate(
mth = str_extract(measure, "\\d+$") %>% as.numeric() %>% as.factor(),
vital = str_extract(measure, "^[a-z]+")) %>%
ggplot(aes(x=mth, y=values, color = vital)) +
geom_boxplot() +
theme_light() +
labs(x = "Month", y = "Pressure (mmHg)")+
facet_wrap(vars(Site), nrow = 4)
%>%
df_bp select(Site, sbp_m0, sbp_m1, sbp_m3, sbp_m6, sbp_m9, sbp_m12) %>%
pivot_longer(
cols = c(starts_with("sbp")),
names_to = "measure", values_to = "values") %>%
mutate(
mth = str_extract(measure, "\\d+$") %>% as.numeric() %>% as.factor(),
vital = str_extract(measure, "^[a-z]+"),
mth = paste("Month", as.character(mth))) %>%
drop_na(values) %>%
group_by(Site, mth) %>%
summarise(count = n()) %>%
pivot_wider(id_cols = Site, names_from = mth, values_from = count) %>%
relocate(`Month 12`, .after = `Month 9`) %>%
ungroup() %>%
::kable() kableExtra
Site | Month 0 | Month 1 | Month 3 | Month 6 | Month 9 | Month 12 |
---|---|---|---|---|---|---|
AGOGO SITE | 28 | 28 | 27 | 27 | 27 | 27 |
ANKAASE SITE | 23 | 23 | 21 | 21 | 21 | 20 |
CCTH SITE | 51 | 51 | 46 | 44 | 42 | 37 |
KATH SITE | 125 | 121 | 114 | 109 | 105 | 109 |
KNUST SITE | 52 | 24 | 25 | 23 | 19 | 28 |
KORLE-BU SITE | 57 | 52 | 48 | 45 | 40 | 45 |
KUMASI SOUTH HOSPITAL | 38 | 33 | 33 | 33 | 30 | 29 |
KWADASO SITE | 36 | 35 | 33 | 33 | 32 | 30 |
MANHYIA GOVT HOSPITAL | 42 | 35 | 30 | 29 | 31 | 25 |
TAFO SITE | 47 | 47 | 47 | 47 | 46 | 45 |
<-
df_bp_long %>%
df_bp select(
sid=`RedCap ID`, sbp_m0, sbp_m1, sbp_m3, sbp_m6, sbp_m9, sbp_m12,
Site, %>%
dbp_m0, dbp_m1, dbp_m3, dbp_m6, dbp_m9, dbp_m12) pivot_longer(
cols = c(starts_with("sbp"),starts_with("dbp")),
names_to = "measure",
values_to = "values") %>%
filter(!is.na(values)) %>%
mutate(
mth = str_extract(measure, "\\d+$") %>% as.numeric() %>% as.factor(),
vital = str_extract(measure, "^[a-z]+"),
mth = paste("Month", as.character(mth))) %>%
select(sid, values, mth, vital, Site) %>%
pivot_wider(id_cols = c(sid, mth), values_from = values, names_from = vital) %>%
arrange(sid, mth) %>%
mutate(
hpt_status = case_when(
>= 140 | dbp >= 90 ~ "Hypertensive",
sbp >= 120 | dbp >= 80 ~ "Borderline",
sbp < 120 | dbp < 80 ~ "Normal") %>%
sbp factor(levels = c("Normal","Borderline", "Hypertensive")),
mth = factor(
mth, levels = c(
"Month 0", "Month 1", "Month 3", "Month 6", "Month 9",
"Month 12")
)
)
%>%
df_bp_long select(hpt_status, mth) %>%
::tbl_summary(by=mth) %>%
gtsummary::bold_labels() gtsummary
Characteristic | Month 0, N = 4991 | Month 1, N = 4491 | Month 3, N = 4241 | Month 6, N = 4111 | Month 9, N = 3931 | Month 12, N = 3951 |
---|---|---|---|---|---|---|
hpt_status | ||||||
Normal | 3 (0.6%) | 37 (8.2%) | 24 (5.7%) | 28 (6.8%) | 30 (7.6%) | 41 (10%) |
Borderline | 26 (5.2%) | 122 (27%) | 145 (34%) | 122 (30%) | 127 (32%) | 162 (41%) |
Hypertensive | 470 (94%) | 290 (65%) | 255 (60%) | 261 (64%) | 236 (60%) | 192 (49%) |
1 n (%) |
%>%
df_bp_long ggplot(aes(x = factor(mth), fill = hpt_status)) +
geom_bar(position = "fill") +
stat_count(
geom = "text",
aes(
label = paste(after_stat(count))),
position=position_fill(vjust=0.5), colour="white"
+
) theme_light()+
labs(
fill = "Hypertension Status",
x = "Months after recruitment",
y = "Count",
title = "Blood Pressure status over the study period"
+
) scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"))+
theme(legend.position="top")
# df_bp_long %>%
# # filter(vital == "sbp") %>%
# ggplot(aes(x = as.numeric(as.character(mth)), y = values, group = sid)) +
# geom_line(alpha =.4, col = "pink") +
# stat_summary(
# fun.data = mean_sdl,
# geom="line",
# colour = "black",
# linewidth = .8,
# group=1, linetype = 2) +
# theme_light() +
# labs(x = "Months")+
# scale_x_continuous(breaks=c(0,1,3, 6, 9, 12))+
# facet_wrap(vars(vital), nrow = 2, scales = "free",)
# df_bp %>%
# arrange(dbp_m0_2) %>%
# filter(!is.na(dbp_m0_2)) %>%
# arrange(sbp_m0_2) %>%
# mutate(n = row_number()) %>%
# ggplot()+
# geom_point(aes(y = sbp_m0_2, x = n), color = "red") +
# geom_point(aes(y = sbp_m0_3, x = n), color = "blue")+
# geom_segment(aes(y=sbp_m0_2 , yend = sbp_m0_3, x=n, xend = n), show.legend = F)