require(tidyverse) require(reporttools) library(dplyr) library(rlang) dataset<-read.csv("dataset.csv") include_xpert_neg<-FALSE include_pasttx_2y<-TRUE rd_ci_binary <- function(data, var, group = group, level = "1", method = c("wald","score")) { method <- match.arg(method) var <- enquo(var) grp <- enquo(group) s <- data %>% filter(!is.na(!!var), !is.na(!!grp)) %>% mutate( y = as.integer(as.character(!!var) == as.character(level)), # both to char g = as.integer(as.character(!!grp)) # handles factor "0"/"1" ) %>% group_by(g) %>% summarise(n = n(), x = sum(y), p = mean(y), .groups = "drop") # guard: need exactly two groups if (nrow(s) != 2 || !all(c(0,1) %in% s$g)) stop("group variable must have exactly two levels coded 0 and 1") n0 <- s$n[s$g == 0]; x0 <- s$x[s$g == 0]; p0 <- s$p[s$g == 0] n1 <- s$n[s$g == 1]; x1 <- s$x[s$g == 1]; p1 <- s$p[s$g == 1] RD <- p1 - p0 if (method == "wald") { se <- sqrt(p1*(1-p1)/n1 + p0*(1-p0)/n0) L <- RD - 1.96*se U <- RD + 1.96*se } else { pt <- prop.test(x = c(x1, x0), n = c(n1, n0), correct = FALSE) L <- pt$conf.int[1]; U <- pt$conf.int[2] } tibble( n0 = n0, p0 = p0, n1 = n1, p1 = p1, RD = RD, LCI = L, UCI = U, RD_95CI = sprintf("%.1f%% (%.1f%%, %.1f%%)", 100*RD, 100*L, 100*U) ) } table1_row_binary <- function(data, var, label, group = group, level = 1, method = "score") { var <- enquo(var) grp <- enquo(group) rd <- rd_ci_binary(data, !!var, group = !!grp, level = level, method = method) tibble( Variable = label, `Group 0` = sprintf("%d (%.1f%%)", round(rd$p0 * rd$n0), 100 * rd$p0), `Group 1` = sprintf("%d (%.1f%%)", round(rd$p1 * rd$n1), 100 * rd$p1), `Diff in proportion (95% CI)` = rd$RD_95CI ) } dataset<-dataset[dataset$TB==1,] if (include_xpert_neg == FALSE) { dataset<-dataset[dataset$xpert_pos==1,] } if (include_pasttx_2y == FALSE) { dataset<-dataset[dataset$drop_Tx2y=="keep",] } dataset<-dataset[!(dataset$before_threshold_change==1 & dataset$survey=="Vukuzazi"),] dataset$survey2<-0 dataset$survey2[dataset$survey=="Vukuzazi"]<-1 if (include_xpert_neg == FALSE) { rows<-26 } else { rows<-27 } table<-as.data.frame(matrix(NA,ncol=17,nrow=rows)) colnames(table)<-c("variable","category", "v_a_num","v_a_prop","v_s_num","v_s_prop","v_diff", "a_a_num","a_a_prop","a_s_num","a_s_prop","a_diff", "v_num","a_num","v_prop","a_prop","diff") #Total table$variable[1]<-"Total (row percentages)" table$v_a_num[1]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB"]) table$v_s_num[1]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB"]) table$a_a_num[1]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB"]) table$a_s_num[1]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB"]) table$v_num[1]<-length(dataset$survey[dataset$survey=="Vukuzazi"]) table$a_num[1]<-length(dataset$survey[dataset$survey=="AHCoS"]) table$v_a_prop[1]<-table$v_a_num[1] / (table$v_a_num[1] + table$v_s_num[1]) table$v_s_prop[1]<-table$v_s_num[1] / (table$v_a_num[1] + table$v_s_num[1]) table$a_a_prop[1]<-table$a_a_num[1] / (table$a_a_num[1] + table$a_s_num[1]) table$a_s_prop[1]<-table$a_s_num[1] / (table$a_a_num[1] + table$a_s_num[1]) table$v_prop[1]<-table$v_num[1] / (table$v_num[1] + table$a_num[1]) table$a_prop[1]<-table$a_num[1] / (table$v_num[1] + table$a_num[1]) #Sex start_row<-2 cats<-2 table$variable[start_row]<-"Sex" table$category[start_row]<-"Male" table$category[start_row+1]<-"Female" table$v_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$sex=="Male" & is.na(dataset$sex)==FALSE]) table$v_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$sex=="Male" & is.na(dataset$sex)==FALSE]) table$a_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$sex=="Male" & is.na(dataset$sex)==FALSE]) table$a_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$sex=="Male" & is.na(dataset$sex)==FALSE]) table$v_a_num[start_row+1]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$sex=="Female" & is.na(dataset$sex)==FALSE]) table$v_s_num[start_row+1]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$sex=="Female" & is.na(dataset$sex)==FALSE]) table$a_a_num[start_row+1]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$sex=="Female" & is.na(dataset$sex)==FALSE]) table$a_s_num[start_row+1]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$sex=="Female" & is.na(dataset$sex)==FALSE]) table$v_num[start_row]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$sex=="Male" & is.na(dataset$sex)==FALSE]) table$a_num[start_row]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$sex=="Male" & is.na(dataset$sex)==FALSE]) table$v_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$sex=="Female" & is.na(dataset$sex)==FALSE]) table$a_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$sex=="Female" & is.na(dataset$sex)==FALSE]) a<-table1_row_binary(dataset, sex, "Male", group = survey2, level = "Male") table$diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, sex, "Female", group = survey2, level = "Female") table$diff[start_row+1]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="AHCoS",] a<-table1_row_binary(data, sex, "Male", group = tbsymp, level = "Male") table$a_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, sex, "Female", group = tbsymp, level = "Female") table$a_diff[start_row+1]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="Vukuzazi",] a<-table1_row_binary(data, sex, "Male", group = tbsymp, level = "Male") table$v_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, sex, "Female", group = tbsymp, level = "Female") table$v_diff[start_row+1]<-a$`Diff in proportion (95% CI)` for (r in seq(start_row,(start_row + cats - 1))) { table$v_a_prop[r]<-table$v_a_num[r] / sum(table$v_a_num[start_row:(start_row + cats - 1)]) table$v_s_prop[r]<-table$v_s_num[r] / sum(table$v_s_num[start_row:(start_row + cats - 1)]) table$a_a_prop[r]<-table$a_a_num[r] / sum(table$a_a_num[start_row:(start_row + cats - 1)]) table$a_s_prop[r]<-table$a_s_num[r] / sum(table$a_s_num[start_row:(start_row + cats - 1)]) table$v_prop[r]<-table$v_num[r] / sum(table$v_num[start_row:(start_row + cats - 1)]) table$a_prop[r]<-table$a_num[r] / sum(table$a_num[start_row:(start_row + cats - 1)]) } #Age group start_row<-start_row + cats cats<-3 table$variable[start_row]<-"Age (years)" table$category[start_row]<-"15 - 29" table$category[(start_row + 1)]<-"30 - 44" table$category[(start_row + 2)]<-"45+" table$v_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$age_group=="15-29" & is.na(dataset$age_group)==FALSE]) table$v_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$age_group=="15-29" & is.na(dataset$age_group)==FALSE]) table$a_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$age_group=="15-29" & is.na(dataset$age_group)==FALSE]) table$a_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$age_group=="15-29" & is.na(dataset$age_group)==FALSE]) table$v_a_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$age_group=="30-44" & is.na(dataset$age_group)==FALSE]) table$v_s_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$age_group=="30-44" & is.na(dataset$age_group)==FALSE]) table$a_a_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$age_group=="30-44" & is.na(dataset$age_group)==FALSE]) table$a_s_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$age_group=="30-44" & is.na(dataset$age_group)==FALSE]) table$v_a_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$age_group=="45+" & is.na(dataset$age_group)==FALSE]) table$v_s_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$age_group=="45+" & is.na(dataset$age_group)==FALSE]) table$a_a_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$age_group=="45+" & is.na(dataset$age_group)==FALSE]) table$a_s_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$age_group=="45+" & is.na(dataset$age_group)==FALSE]) table$v_num[start_row]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$age_group=="15-29" & is.na(dataset$age_group)==FALSE]) table$v_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$age_group=="30-44" & is.na(dataset$age_group)==FALSE]) table$v_num[start_row+2]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$age_group=="45+" & is.na(dataset$age_group)==FALSE]) table$a_num[start_row]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$age_group=="15-29" & is.na(dataset$age_group)==FALSE]) table$a_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$age_group=="30-44" & is.na(dataset$age_group)==FALSE]) table$a_num[start_row+2]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$age_group=="45+" & is.na(dataset$age_group)==FALSE]) a<-table1_row_binary(dataset, age_group, "15-29", group = survey2, level = "15-29") table$diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, age_group, "30-44", group = survey2, level = "30-44") table$diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, age_group, "45+", group = survey2, level = "45+") table$diff[start_row+2]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="AHCoS",] a<-table1_row_binary(data, age_group, "15-29", group = tbsymp, level = "15-29") table$a_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, age_group, "30-44", group = tbsymp, level = "30-44") table$a_diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, age_group, "45+", group = tbsymp, level = "45+") table$a_diff[start_row+2]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="Vukuzazi",] a<-table1_row_binary(data, age_group, "15-29", group = tbsymp, level = "15-29") table$v_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, age_group, "30-44", group = tbsymp, level = "30-44") table$v_diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, age_group, "45+", group = tbsymp, level = "45+") table$v_diff[start_row+2]<-a$`Diff in proportion (95% CI)` for (r in seq(start_row,(start_row + cats - 1))) { table$v_a_prop[r]<-table$v_a_num[r] / sum(table$v_a_num[start_row:(start_row + cats - 1)]) table$v_s_prop[r]<-table$v_s_num[r] / sum(table$v_s_num[start_row:(start_row + cats - 1)]) table$a_a_prop[r]<-table$a_a_num[r] / sum(table$a_a_num[start_row:(start_row + cats - 1)]) table$a_s_prop[r]<-table$a_s_num[r] / sum(table$a_s_num[start_row:(start_row + cats - 1)]) table$v_prop[r]<-table$v_num[r] / sum(table$v_num[start_row:(start_row + cats - 1)]) table$a_prop[r]<-table$a_num[r] / sum(table$a_num[start_row:(start_row + cats - 1)]) } #Past TB start_row<-start_row + cats cats<-2 table$variable[start_row]<-"Past TB treatment" table$category[start_row]<-"No" table$category[start_row+1]<-"Yes" table$v_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$pastTB==0 & is.na(dataset$pastTB)==FALSE]) table$v_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$pastTB==0 & is.na(dataset$pastTB)==FALSE]) table$a_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$pastTB==0 & is.na(dataset$pastTB)==FALSE]) table$a_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$pastTB==0 & is.na(dataset$pastTB)==FALSE]) table$v_a_num[start_row+1]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$pastTB==1 & is.na(dataset$pastTB)==FALSE]) table$v_s_num[start_row+1]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$pastTB==1 & is.na(dataset$pastTB)==FALSE]) table$a_a_num[start_row+1]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$pastTB==1 & is.na(dataset$pastTB)==FALSE]) table$a_s_num[start_row+1]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$pastTB==1 & is.na(dataset$pastTB)==FALSE]) table$v_num[start_row]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$pastTB==0 & is.na(dataset$pastTB)==FALSE]) table$a_num[start_row]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$pastTB==0 & is.na(dataset$pastTB)==FALSE]) table$v_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$pastTB==1 & is.na(dataset$pastTB)==FALSE]) table$a_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$pastTB==1 & is.na(dataset$pastTB)==FALSE]) a<-table1_row_binary(dataset, pastTB, 0, group = survey2, level = 0) table$diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, pastTB, 1, group = survey2, level = 1) table$diff[start_row+1]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="AHCoS",] a<-table1_row_binary(data, pastTB, 0, group = tbsymp, level = 0) table$a_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, pastTB, 1, group = tbsymp, level = 1) table$a_diff[start_row+1]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="Vukuzazi",] a<-table1_row_binary(data, pastTB, 0, group = tbsymp, level = 0) table$v_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, pastTB, 1, group = tbsymp, level = 1) table$v_diff[start_row+1]<-a$`Diff in proportion (95% CI)` for (r in seq(start_row,(start_row + cats - 1))) { table$v_a_prop[r]<-table$v_a_num[r] / sum(table$v_a_num[start_row:(start_row + cats - 1)]) table$v_s_prop[r]<-table$v_s_num[r] / sum(table$v_s_num[start_row:(start_row + cats - 1)]) table$a_a_prop[r]<-table$a_a_num[r] / sum(table$a_a_num[start_row:(start_row + cats - 1)]) table$a_s_prop[r]<-table$a_s_num[r] / sum(table$a_s_num[start_row:(start_row + cats - 1)]) table$v_prop[r]<-table$v_num[r] / sum(table$v_num[start_row:(start_row + cats - 1)]) table$a_prop[r]<-table$a_num[r] / sum(table$a_num[start_row:(start_row + cats - 1)]) } #BMI start_row<-start_row + cats cats<-3 dataset$bmi<-as.numeric(dataset$bmi) table$variable[start_row]<-"BMI (kg/m2)" table$category[start_row]<-"Underweight" table$category[(start_row + 1)]<-"Normal weight" table$category[(start_row + 2)]<-"Overweight/obese" table$v_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$bmi_group=="Underweight" & is.na(dataset$bmi_group)==FALSE]) table$v_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$bmi_group=="Underweight" & is.na(dataset$bmi_group)==FALSE]) table$a_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$bmi_group=="Underweight" & is.na(dataset$bmi_group)==FALSE]) table$a_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$bmi_group=="Underweight" & is.na(dataset$bmi_group)==FALSE]) table$v_a_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$bmi_group=="Normal weight" & is.na(dataset$bmi_group)==FALSE]) table$v_s_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$bmi_group=="Normal weight" & is.na(dataset$bmi_group)==FALSE]) table$a_a_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$bmi_group=="Normal weight" & is.na(dataset$bmi_group)==FALSE]) table$a_s_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$bmi_group=="Normal weight" & is.na(dataset$bmi_group)==FALSE]) table$v_a_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$bmi_group=="Overweight/obese" & is.na(dataset$bmi_group)==FALSE]) table$v_s_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$bmi_group=="Overweight/obese" & is.na(dataset$bmi_group)==FALSE]) table$a_a_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$bmi_group=="Overweight/obese" & is.na(dataset$bmi_group)==FALSE]) table$a_s_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$bmi_group=="Overweight/obese" & is.na(dataset$bmi_group)==FALSE]) table$v_num[start_row]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$bmi_group=="Underweight" & is.na(dataset$bmi_group)==FALSE]) table$v_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$bmi_group=="Normal weight" & is.na(dataset$bmi_group)==FALSE]) table$v_num[start_row+2]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$bmi_group=="Overweight/obese" & is.na(dataset$bmi_group)==FALSE]) table$a_num[start_row]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$bmi_group=="Underweight" & is.na(dataset$bmi_group)==FALSE]) table$a_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$bmi_group=="Normal weight" & is.na(dataset$bmi_group)==FALSE]) table$a_num[start_row+2]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$bmi_group=="Overweight/obese" & is.na(dataset$bmi_group)==FALSE]) a<-table1_row_binary(dataset, bmi_group, "Underweight", group = survey2, level = "Underweight") table$diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, bmi_group, "Normal weight", group = survey2, level = "Normal weight") table$diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, bmi_group, "Overweight/obese", group = survey2, level = "Overweight/obese") table$diff[start_row+2]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="AHCoS",] a<-table1_row_binary(data, bmi_group, "Underweight", group = tbsymp, level = "Underweight") table$a_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, bmi_group, "Normal weight", group = tbsymp, level = "Normal weight") table$a_diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, bmi_group, "Overweight/obese", group = tbsymp, level = "Overweight/obese") table$a_diff[start_row+2]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="Vukuzazi",] a<-table1_row_binary(data, bmi_group, "Underweight", group = tbsymp, level = "Underweight") table$v_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, bmi_group, "Normal weight", group = tbsymp, level = "Normal weight") table$v_diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, bmi_group, "Overweight/obese", group = tbsymp, level = "Overweight/obese") table$v_diff[start_row+2]<-a$`Diff in proportion (95% CI)` for (r in seq(start_row,(start_row + cats - 1))) { table$v_a_prop[r]<-table$v_a_num[r] / sum(table$v_a_num[start_row:(start_row + cats - 1)]) table$v_s_prop[r]<-table$v_s_num[r] / sum(table$v_s_num[start_row:(start_row + cats - 1)]) table$a_a_prop[r]<-table$a_a_num[r] / sum(table$a_a_num[start_row:(start_row + cats - 1)]) table$a_s_prop[r]<-table$a_s_num[r] / sum(table$a_s_num[start_row:(start_row + cats - 1)]) table$v_prop[r]<-table$v_num[r] / sum(table$v_num[start_row:(start_row + cats - 1)]) table$a_prop[r]<-table$a_num[r] / sum(table$a_num[start_row:(start_row + cats - 1)]) } #HIV/any ART start_row<-start_row + cats cats<-3 table$variable[start_row]<-"HIV/ART" table$category[start_row]<-"HIV-" table$category[(start_row + 1)]<-"HIV+ART-" table$category[(start_row + 2)]<-"HIV+ART+" table$v_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$hivart=="HIV-" & is.na(dataset$hivart)==FALSE]) table$v_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$hivart=="HIV-" & is.na(dataset$hivart)==FALSE]) table$a_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$hivart=="HIV-" & is.na(dataset$hivart)==FALSE]) table$a_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$hivart=="HIV-" & is.na(dataset$hivart)==FALSE]) table$v_a_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$hivart=="HIV+ART-" & is.na(dataset$hivart)==FALSE]) table$v_s_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$hivart=="HIV+ART-" & is.na(dataset$hivart)==FALSE]) table$a_a_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$hivart=="HIV+ART-" & is.na(dataset$hivart)==FALSE]) table$a_s_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$hivart=="HIV+ART-" & is.na(dataset$hivart)==FALSE]) table$v_a_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$hivart=="HIV+ART+" & is.na(dataset$hivart)==FALSE]) table$v_s_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$hivart=="HIV+ART+" & is.na(dataset$hivart)==FALSE]) table$a_a_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$hivart=="HIV+ART+" & is.na(dataset$hivart)==FALSE]) table$a_s_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$hivart=="HIV+ART+" & is.na(dataset$hivart)==FALSE]) table$v_num[start_row]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$hivart=="HIV-" & is.na(dataset$hivart)==FALSE]) table$v_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$hivart=="HIV+ART-" & is.na(dataset$hivart)==FALSE]) table$v_num[start_row+2]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$hivart=="HIV+ART+" & is.na(dataset$hivart)==FALSE]) table$a_num[start_row]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$hivart=="HIV-" & is.na(dataset$hivart)==FALSE]) table$a_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$hivart=="HIV+ART-" & is.na(dataset$hivart)==FALSE]) table$a_num[start_row+2]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$hivart=="HIV+ART+" & is.na(dataset$hivart)==FALSE]) a<-table1_row_binary(dataset, hivart, "HIV-", group = survey2, level = "HIV-") table$diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, hivart, "HIV+ART-", group = survey2, level = "HIV+ART-") table$diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, hivart, "HIV+ART+", group = survey2, level = "HIV+ART+") table$diff[start_row+2]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="AHCoS",] a<-table1_row_binary(data, hivart, "HIV-", group = tbsymp, level = "HIV-") table$a_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, hivart, "HIV+ART-", group = tbsymp, level = "HIV+ART-") table$a_diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, hivart, "HIV+ART+", group = tbsymp, level = "HIV+ART+") table$a_diff[start_row+2]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="Vukuzazi",] a<-table1_row_binary(data, hivart, "HIV-", group = tbsymp, level = "HIV-") table$v_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, hivart, "HIV+ART-", group = tbsymp, level = "HIV+ART-") table$v_diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, hivart, "HIV+ART+", group = tbsymp, level = "HIV+ART+") table$v_diff[start_row+2]<-a$`Diff in proportion (95% CI)` for (r in seq(start_row,(start_row + cats - 1))) { table$v_a_prop[r]<-table$v_a_num[r] / sum(table$v_a_num[start_row:(start_row + cats - 1)]) table$v_s_prop[r]<-table$v_s_num[r] / sum(table$v_s_num[start_row:(start_row + cats - 1)]) table$a_a_prop[r]<-table$a_a_num[r] / sum(table$a_a_num[start_row:(start_row + cats - 1)]) table$a_s_prop[r]<-table$a_s_num[r] / sum(table$a_s_num[start_row:(start_row + cats - 1)]) table$v_prop[r]<-table$v_num[r] / sum(table$v_num[start_row:(start_row + cats - 1)]) table$a_prop[r]<-table$a_num[r] / sum(table$a_num[start_row:(start_row + cats - 1)]) } #Cavitation start_row<-start_row + cats cats<-2 table$variable[start_row]<-"Cavitation" table$category[start_row]<-"No" table$category[start_row+1]<-"Yes" table$v_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$cavitation==0 & is.na(dataset$cavitation)==FALSE]) table$v_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$cavitation==0 & is.na(dataset$cavitation)==FALSE]) table$a_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$cavitation==0 & is.na(dataset$cavitation)==FALSE]) table$a_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$cavitation==0 & is.na(dataset$cavitation)==FALSE]) table$v_a_num[start_row+1]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$cavitation==1 & is.na(dataset$cavitation)==FALSE]) table$v_s_num[start_row+1]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$cavitation==1 & is.na(dataset$cavitation)==FALSE]) table$a_a_num[start_row+1]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$cavitation==1 & is.na(dataset$cavitation)==FALSE]) table$a_s_num[start_row+1]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$cavitation==1 & is.na(dataset$cavitation)==FALSE]) table$v_num[start_row]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$cavitation==0 & is.na(dataset$cavitation)==FALSE]) table$a_num[start_row]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$cavitation==0 & is.na(dataset$cavitation)==FALSE]) table$v_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$cavitation==1 & is.na(dataset$cavitation)==FALSE]) table$a_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$cavitation==1 & is.na(dataset$cavitation)==FALSE]) a<-table1_row_binary(dataset, cavitation, 0, group = survey2, level = 0) table$diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, cavitation, 1, group = survey2, level = 1) table$diff[start_row+1]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="AHCoS",] a<-table1_row_binary(data, cavitation, 0, group = tbsymp, level = 0) table$a_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, cavitation, 1, group = tbsymp, level = 1) table$a_diff[start_row+1]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="Vukuzazi",] a<-table1_row_binary(data, cavitation, 0, group = tbsymp, level = 0) table$v_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, cavitation, 1, group = tbsymp, level = 1) table$v_diff[start_row+1]<-a$`Diff in proportion (95% CI)` for (r in seq(start_row,(start_row + cats - 1))) { table$v_a_prop[r]<-table$v_a_num[r] / sum(table$v_a_num[start_row:(start_row + cats - 1)]) table$v_s_prop[r]<-table$v_s_num[r] / sum(table$v_s_num[start_row:(start_row + cats - 1)]) table$a_a_prop[r]<-table$a_a_num[r] / sum(table$a_a_num[start_row:(start_row + cats - 1)]) table$a_s_prop[r]<-table$a_s_num[r] / sum(table$a_s_num[start_row:(start_row + cats - 1)]) table$v_prop[r]<-table$v_num[r] / sum(table$v_num[start_row:(start_row + cats - 1)]) table$a_prop[r]<-table$a_num[r] / sum(table$a_num[start_row:(start_row + cats - 1)]) } #CAD score start_row<-start_row + cats cats<-4 dataset <- mutate(dataset, cadgrp = cut(cad_v5, breaks=c(0,50,70,90,100), right=F)) table$variable[start_row]<-"CAD score" table$category[start_row]<-"<50" table$category[(start_row + 1)]<-"50 - 69" table$category[(start_row + 2)]<-"70 - 89" table$category[(start_row + 3)]<-"90 - 100" table$v_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$cadgrp=="[0,50)" & is.na(dataset$cadgrp)==FALSE]) table$v_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$cadgrp=="[0,50)" & is.na(dataset$cadgrp)==FALSE]) table$a_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$cadgrp=="[0,50)" & is.na(dataset$cadgrp)==FALSE]) table$a_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$cadgrp=="[0,50)" & is.na(dataset$cadgrp)==FALSE]) table$v_a_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$cadgrp=="[50,70)" & is.na(dataset$cadgrp)==FALSE]) table$v_s_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$cadgrp=="[50,70)" & is.na(dataset$cadgrp)==FALSE]) table$a_a_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$cadgrp=="[50,70)" & is.na(dataset$cadgrp)==FALSE]) table$a_s_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$cadgrp=="[50,70)" & is.na(dataset$cadgrp)==FALSE]) table$v_a_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$cadgrp=="[70,90)" & is.na(dataset$cadgrp)==FALSE]) table$v_s_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$cadgrp=="[70,90)" & is.na(dataset$cadgrp)==FALSE]) table$a_a_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$cadgrp=="[70,90)" & is.na(dataset$cadgrp)==FALSE]) table$a_s_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$cadgrp=="[70,90)" & is.na(dataset$cadgrp)==FALSE]) table$v_a_num[(start_row + 3)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$cadgrp=="[90,100)" & is.na(dataset$cadgrp)==FALSE]) table$v_s_num[(start_row + 3)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$cadgrp=="[90,100)" & is.na(dataset$cadgrp)==FALSE]) table$a_a_num[(start_row + 3)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$cadgrp=="[90,100)" & is.na(dataset$cadgrp)==FALSE]) table$a_s_num[(start_row + 3)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$cadgrp=="[90,100)" & is.na(dataset$cadgrp)==FALSE]) table$v_num[start_row]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$cadgrp=="[0,50)" & is.na(dataset$cadgrp)==FALSE]) table$v_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$cadgrp=="[50,70)" & is.na(dataset$cadgrp)==FALSE]) table$v_num[start_row+2]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$cadgrp=="[70,90)" & is.na(dataset$cadgrp)==FALSE]) table$v_num[start_row+3]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$cadgrp=="[90,100)" & is.na(dataset$cadgrp)==FALSE]) table$a_num[start_row]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$cadgrp=="[0,50)" & is.na(dataset$cadgrp)==FALSE]) table$a_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$cadgrp=="[50,70)" & is.na(dataset$cadgrp)==FALSE]) table$a_num[start_row+2]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$cadgrp=="[70,90)" & is.na(dataset$cadgrp)==FALSE]) table$a_num[start_row+3]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$cadgrp=="[90,100)" & is.na(dataset$cadgrp)==FALSE]) a<-table1_row_binary(dataset, cadgrp, "[0,50)", group = survey2, level = "[0,50)") table$diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, cadgrp, "[50,70)", group = survey2, level = "[50,70)") table$diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, cadgrp, "[70,90)", group = survey2, level = "[70,90)") table$diff[start_row+2]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, cadgrp, "[90,100)", group = survey2, level = "[90,100)") table$diff[start_row+3]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="AHCoS",] a<-table1_row_binary(data, cadgrp, "[0,50)", group = tbsymp, level = "[0,50)") table$a_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, cadgrp, "[50,70)", group = tbsymp, level = "[50,70)") table$a_diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, cadgrp, "[70,90)", group = tbsymp, level = "[70,90)") table$a_diff[start_row+2]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, cadgrp, "[90,100)", group = tbsymp, level = "[90,100)") table$a_diff[start_row+3]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="Vukuzazi",] a<-table1_row_binary(data, cadgrp, "[0,50)", group = tbsymp, level = "[0,50)") table$v_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, cadgrp, "[50,70)", group = tbsymp, level = "[50,70)") table$v_diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, cadgrp, "[70,90)", group = tbsymp, level = "[70,90)") table$v_diff[start_row+2]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, cadgrp, "[90,100)", group = tbsymp, level = "[90,100)") table$v_diff[start_row+3]<-a$`Diff in proportion (95% CI)` for (r in seq(start_row,(start_row + cats - 1))) { table$v_a_prop[r]<-table$v_a_num[r] / sum(table$v_a_num[start_row:(start_row + cats - 1)]) table$v_s_prop[r]<-table$v_s_num[r] / sum(table$v_s_num[start_row:(start_row + cats - 1)]) table$a_a_prop[r]<-table$a_a_num[r] / sum(table$a_a_num[start_row:(start_row + cats - 1)]) table$a_s_prop[r]<-table$a_s_num[r] / sum(table$a_s_num[start_row:(start_row + cats - 1)]) table$v_prop[r]<-table$v_num[r] / sum(table$v_num[start_row:(start_row + cats - 1)]) table$a_prop[r]<-table$a_num[r] / sum(table$a_num[start_row:(start_row + cats - 1)]) } #Xpert trace if (include_xpert_neg == FALSE) { start_row<-start_row + cats cats<-2 table$variable[start_row]<-"Xpert" table$category[start_row]<-"Trace" table$category[(start_row + 1)]<-"Greater than trace" table$v_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$above_trace==0 & is.na(dataset$above_trace)==FALSE]) table$v_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$above_trace==0 & is.na(dataset$above_trace)==FALSE]) table$a_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$above_trace==0 & is.na(dataset$above_trace)==FALSE]) table$a_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$above_trace==0 & is.na(dataset$above_trace)==FALSE]) table$v_a_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$above_trace==1 & is.na(dataset$above_trace)==FALSE]) table$v_s_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$above_trace==1 & is.na(dataset$above_trace)==FALSE]) table$a_a_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$above_trace==1 & is.na(dataset$above_trace)==FALSE]) table$a_s_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$above_trace==1 & is.na(dataset$above_trace)==FALSE]) table$v_num[start_row]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$above_trace==0 & is.na(dataset$above_trace)==FALSE]) table$v_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$above_trace==1 & is.na(dataset$above_trace)==FALSE]) table$a_num[start_row]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$above_trace==0 & is.na(dataset$above_trace)==FALSE]) table$a_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$above_trace==1 & is.na(dataset$above_trace)==FALSE]) a<-table1_row_binary(dataset, above_trace, 0, group = survey2, level = 0) table$diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, above_trace, 1, group = survey2, level = 1) table$diff[start_row+1]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="AHCoS",] a<-table1_row_binary(data, above_trace, 0, group = tbsymp, level = 0) table$a_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, above_trace, 1, group = tbsymp, level = 1) table$a_diff[start_row+1]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="Vukuzazi",] a<-table1_row_binary(data, above_trace, 0, group = tbsymp, level = 0) table$v_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, above_trace, 1, group = tbsymp, level = 1) table$v_diff[start_row+1]<-a$`Diff in proportion (95% CI)` for (r in seq(start_row,(start_row + cats - 1))) { table$v_a_prop[r]<-table$v_a_num[r] / sum(table$v_a_num[start_row:(start_row + cats - 1)]) table$v_s_prop[r]<-table$v_s_num[r] / sum(table$v_s_num[start_row:(start_row + cats - 1)]) table$a_a_prop[r]<-table$a_a_num[r] / sum(table$a_a_num[start_row:(start_row + cats - 1)]) table$a_s_prop[r]<-table$a_s_num[r] / sum(table$a_s_num[start_row:(start_row + cats - 1)]) table$v_prop[r]<-table$v_num[r] / sum(table$v_num[start_row:(start_row + cats - 1)]) table$a_prop[r]<-table$a_num[r] / sum(table$a_num[start_row:(start_row + cats - 1)]) } } else { start_row<-start_row + cats cats<-3 table$variable[start_row]<-"Xpert" table$category[start_row]<-"Undetected" table$category[(start_row + 1)]<-"Trace" table$category[(start_row + 2)]<-"Greater than trace" table$v_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$xpert_pos==0 & is.na(dataset$above_trace)==FALSE]) table$v_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$xpert_pos==0 & is.na(dataset$above_trace)==FALSE]) table$a_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$xpert_pos==0 & is.na(dataset$above_trace)==FALSE]) table$a_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$xpert_pos==0 & is.na(dataset$above_trace)==FALSE]) table$v_a_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$above_trace==0 & dataset$xpert_pos==1 & is.na(dataset$above_trace)==FALSE]) table$v_s_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$above_trace==0 & dataset$xpert_pos==1 & is.na(dataset$above_trace)==FALSE]) table$a_a_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$above_trace==0 & dataset$xpert_pos==1 & is.na(dataset$above_trace)==FALSE]) table$a_s_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$above_trace==0 & dataset$xpert_pos==1 & is.na(dataset$above_trace)==FALSE]) table$v_a_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$above_trace==1 & dataset$xpert_pos==1 & is.na(dataset$above_trace)==FALSE]) table$v_s_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$above_trace==1 & dataset$xpert_pos==1 & is.na(dataset$above_trace)==FALSE]) table$a_a_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$above_trace==1 & dataset$xpert_pos==1 & is.na(dataset$above_trace)==FALSE]) table$a_s_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$above_trace==1 & dataset$xpert_pos==1 & is.na(dataset$above_trace)==FALSE]) table$v_num[start_row]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$xpert_pos==0 & is.na(dataset$above_trace)==FALSE]) table$v_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$above_trace==0 & dataset$xpert_pos==1 & is.na(dataset$above_trace)==FALSE]) table$v_num[start_row+2]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$above_trace==1 & dataset$xpert_pos==1 & is.na(dataset$above_trace)==FALSE]) table$a_num[start_row]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$xpert_pos==0 & is.na(dataset$above_trace)==FALSE]) table$a_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$above_trace==0 & dataset$xpert_pos==1 & is.na(dataset$above_trace)==FALSE]) table$a_num[start_row+2]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$above_trace==1 & dataset$xpert_pos==1 & is.na(dataset$above_trace)==FALSE]) dataset$xpert3<-0 dataset$xpert3[dataset$above_trace==0 & dataset$xpert_pos==1]<-1 dataset$xpert3[dataset$above_trace==1 & dataset$xpert_pos==1]<-2 a<-table1_row_binary(dataset, xpert3, 0, group = survey2, level = 0) table$diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, xpert3, 1, group = survey2, level = 1) table$diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, xpert3, 1, group = survey2, level = 2) table$diff[start_row+2]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="AHCoS",] a<-table1_row_binary(data, xpert3, 0, group = tbsymp, level = 0) table$a_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, xpert3, 1, group = tbsymp, level = 1) table$a_diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, xpert3, 1, group = tbsymp, level = 2) table$a_diff[start_row+2]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="Vukuzazi",] a<-table1_row_binary(data, xpert3, 0, group = tbsymp, level = 0) table$v_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, xpert3, 1, group = tbsymp, level = 1) table$v_diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, xpert3, 1, group = tbsymp, level = 2) table$v_diff[start_row+2]<-a$`Diff in proportion (95% CI)` for (r in seq(start_row,(start_row + cats - 1))) { table$v_a_prop[r]<-table$v_a_num[r] / sum(table$v_a_num[start_row:(start_row + cats - 1)]) table$v_s_prop[r]<-table$v_s_num[r] / sum(table$v_s_num[start_row:(start_row + cats - 1)]) table$a_a_prop[r]<-table$a_a_num[r] / sum(table$a_a_num[start_row:(start_row + cats - 1)]) table$a_s_prop[r]<-table$a_s_num[r] / sum(table$a_s_num[start_row:(start_row + cats - 1)]) table$v_prop[r]<-table$v_num[r] / sum(table$v_num[start_row:(start_row + cats - 1)]) table$a_prop[r]<-table$a_num[r] / sum(table$a_num[start_row:(start_row + cats - 1)]) } } #culture start_row<-start_row + cats cats<-4 table$variable[start_row]<-"Culture time to positivity" table$category[start_row]<-"<10 days" table$category[(start_row + 1)]<-"10 - 15 days" table$category[(start_row + 2)]<-"15 - 42 days" table$category[(start_row + 3)]<-"Culture negative" table$v_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$culture_cat=="<10" & is.na(dataset$culture_cat)==FALSE]) table$v_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$culture_cat=="<10" & is.na(dataset$culture_cat)==FALSE]) table$a_a_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$culture_cat=="<10" & is.na(dataset$culture_cat)==FALSE]) table$a_s_num[start_row]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$culture_cat=="<10" & is.na(dataset$culture_cat)==FALSE]) table$v_a_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$culture_cat=="10-15" & is.na(dataset$culture_cat)==FALSE]) table$v_s_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$culture_cat=="10-15" & is.na(dataset$culture_cat)==FALSE]) table$a_a_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$culture_cat=="10-15" & is.na(dataset$culture_cat)==FALSE]) table$a_s_num[(start_row + 1)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$culture_cat=="10-15" & is.na(dataset$culture_cat)==FALSE]) table$v_a_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$culture_cat=="15-42" & is.na(dataset$culture_cat)==FALSE]) table$v_s_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$culture_cat=="15-42" & is.na(dataset$culture_cat)==FALSE]) table$a_a_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$culture_cat=="15-42" & is.na(dataset$culture_cat)==FALSE]) table$a_s_num[(start_row + 2)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$culture_cat=="15-42" & is.na(dataset$culture_cat)==FALSE]) table$v_a_num[(start_row + 3)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk aTB" & dataset$culture_cat=="negative" & is.na(dataset$culture_cat)==FALSE]) table$v_s_num[(start_row + 3)]<-length(dataset$survey_symp[dataset$survey_symp=="Vuk sTB" & dataset$culture_cat=="negative" & is.na(dataset$culture_cat)==FALSE]) table$a_a_num[(start_row + 3)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS aTB" & dataset$culture_cat=="negative" & is.na(dataset$culture_cat)==FALSE]) table$a_s_num[(start_row + 3)]<-length(dataset$survey_symp[dataset$survey_symp=="AHCoS sTB" & dataset$culture_cat=="negative" & is.na(dataset$culture_cat)==FALSE]) table$v_num[start_row]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$culture_cat=="<10" & is.na(dataset$culture_cat)==FALSE]) table$v_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$culture_cat=="10-15" & is.na(dataset$culture_cat)==FALSE]) table$v_num[start_row+2]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$culture_cat=="15-42" & is.na(dataset$culture_cat)==FALSE]) table$v_num[start_row+3]<-length(dataset$survey_symp[dataset$survey=="Vukuzazi" & dataset$culture_cat=="negative" & is.na(dataset$culture_cat)==FALSE]) table$a_num[start_row]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$culture_cat=="<10" & is.na(dataset$culture_cat)==FALSE]) table$a_num[start_row+1]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$culture_cat=="10-15" & is.na(dataset$culture_cat)==FALSE]) table$a_num[start_row+2]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$culture_cat=="15-42" & is.na(dataset$culture_cat)==FALSE]) table$a_num[start_row+3]<-length(dataset$survey_symp[dataset$survey=="AHCoS" & dataset$culture_cat=="negative" & is.na(dataset$culture_cat)==FALSE]) a<-table1_row_binary(dataset, culture_cat, "<10", group = survey2, level = "<10") table$diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, culture_cat, "10-15", group = survey2, level = "10-15") table$diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, culture_cat, "15-42", group = survey2, level = "15-42") table$diff[start_row+2]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(dataset, culture_cat, "negative", group = survey2, level = "negative") table$diff[start_row+3]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="AHCoS",] a<-table1_row_binary(data, culture_cat, "<10", group = tbsymp, level = "<10") table$a_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, culture_cat, "10-15", group = tbsymp, level = "10-15") table$a_diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, culture_cat, "15-42", group = tbsymp, level = "15-42") table$a_diff[start_row+2]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, culture_cat, "negative", group = tbsymp, level = "negative") table$a_diff[start_row+3]<-a$`Diff in proportion (95% CI)` data<-dataset[dataset$survey=="Vukuzazi",] a<-table1_row_binary(data, culture_cat, "<10", group = tbsymp, level = "<10") table$v_diff[start_row]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, culture_cat, "10-15", group = tbsymp, level = "10-15") table$v_diff[start_row+1]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, culture_cat, "15-42", group = tbsymp, level = "15-42") table$v_diff[start_row+2]<-a$`Diff in proportion (95% CI)` a<-table1_row_binary(data, culture_cat, "negative", group = tbsymp, level = "negative") table$v_diff[start_row+3]<-a$`Diff in proportion (95% CI)` for (r in seq(start_row,(start_row + cats - 1))) { table$v_a_prop[r]<-table$v_a_num[r] / sum(table$v_a_num[start_row:(start_row + cats - 1)]) table$v_s_prop[r]<-table$v_s_num[r] / sum(table$v_s_num[start_row:(start_row + cats - 1)]) table$a_a_prop[r]<-table$a_a_num[r] / sum(table$a_a_num[start_row:(start_row + cats - 1)]) table$a_s_prop[r]<-table$a_s_num[r] / sum(table$a_s_num[start_row:(start_row + cats - 1)]) table$v_prop[r]<-table$v_num[r] / sum(table$v_num[start_row:(start_row + cats - 1)]) table$a_prop[r]<-table$a_num[r] / sum(table$a_num[start_row:(start_row + cats - 1)]) } #formatting table$v_a_prop<-formatC(signif(100*table$v_a_prop, digits=3), digits=3, format="fg", flag="#") table$v_s_prop<-formatC(signif(100*table$v_s_prop, digits=3), digits=3, format="fg", flag="#") table$a_a_prop<-formatC(signif(100*table$a_a_prop, digits=3), digits=3, format="fg", flag="#") table$a_s_prop<-formatC(signif(100*table$a_s_prop, digits=3), digits=3, format="fg", flag="#") table$v_prop<-formatC(signif(100*table$v_prop, digits=3), digits=3, format="fg", flag="#") table$a_prop<-formatC(signif(100*table$a_prop, digits=3), digits=3, format="fg", flag="#") table$v_a_prop[table$v_a_prop==" NA"]<-"" table$v_s_prop[table$v_s_prop==" NA"]<-"" table$a_a_prop[table$a_a_prop==" NA"]<-"" table$a_s_prop[table$a_s_prop==" NA"]<-"" table$v_prop[table$v_prop==" NA"]<-"" table$a_prop[table$a_prop==" NA"]<-"" table_export<-as.data.frame(matrix(NA,ncol=11,nrow=rows+3)) table_export[1,]<-c("","","By setting","","","By setting and reported symptoms","","","","","") table_export[2,]<-c("","","","","","Community","","","Clinics","","") table_export[3,]<-c("","","Community","Clinics","Difference in proportion (95% CI)","Asymptomatic","Symptomatic","Difference in proportion (95% CI)","Asymptomatic","Symptomatic","Difference in proportion (95% CI)") table_export[4:(rows+3),1]<-table$variable table_export[4:(rows+3),2]<-table$category table_export[4:(rows+3),3]<-paste0(table$v_num," (",table$v_prop,"%)") table_export[4:(rows+3),4]<-paste0(table$a_num," (",table$a_prop,"%)") table_export[4:(rows+3),5]<-table$diff table_export[4:(rows+3),6]<-paste0(table$v_a_num," (",table$v_a_prop,"%)") table_export[4:(rows+3),7]<-paste0(table$v_s_num," (",table$v_s_prop,"%)") table_export[4:(rows+3),8]<-table$v_diff table_export[4:(rows+3),9]<-paste0(table$a_a_num," (",table$a_a_prop,"%)") table_export[4:(rows+3),10]<-paste0(table$a_s_num," (",table$a_s_prop,"%)") table_export[4:(rows+3),11]<-table$a_diff if (include_pasttx_2y == FALSE) { write.table(table_export,file="table1diffs_rexport-exclude pastTB2y.csv",sep=",",col.names = FALSE,row.names = FALSE,na="") } else { if (include_xpert_neg == FALSE) { write.table(table_export,file="table1diffs_rexport.csv",sep=",",col.names = FALSE,row.names = FALSE,na="") } else { write.table(table_export,file="table1diffs_rexport-include xpertneg.csv",sep=",",col.names = FALSE,row.names = FALSE,na="") } }