This analysis syntax use the master dataset down below with a few features:
- non consented patients removed;
- donors who could’ve been ruled out by breeze is marked as ‘Yes’ by the variable early_ruleout;
- N = 2576
- removed 85 patients from a list given by SBMC.
df <- read.csv("./Data/MFLADD_survey1&2_masterfile.csv", header = T)
sbmc_exclude_IDs <- readxl::read_excel("./Data/MFALDD_Study ID_Exclusions 20191125v2yellow.xlsx",col_names = c("ID","REASON")) %>%
unique() %>%
mutate(
ID = gsub("B", "SBMC", ID)
) %>% janitor::remove_empty_rows() # this was one empty row
## filter df to exclude the above IDs
df <- df %>% filter(! uniq_id %in% sbmc_exclude_IDs$ID) # if ID in the remove list, exclude.
df <- df %>% filter(early_ruleout == "No") # remove another batch of IDs that needs to get excluded.
df$race <- as.character(df$race)
var <- Cs(age, sex, race, language,education_level,early_ruleout)
facvar <- Cs(sex, race,language,education_level,early_ruleout)
table1 <- CreateTableOne(var, factorVars = facvar,data = df)
table1 <- print(table1, printToggle = F)
write.csv(table1, file = "./Output/Non-Early Ruleout Survey 1 patient characteristics.csv")
table1 %>%
as.data.frame() %>%
rownames_to_column("Variables") %>%
filter(!Variables %in% c("n", "")) %>%
select(Variables, `N (%)` = Overall) %>%
flextable::flextable() %>%
autofit(add_w = 0.3) %>%
align(align = "left") %>%
align(align = "left", part = "header") %>%
add_header_lines("Participant Characteristics, Baseline (N = 2661)") %>%
fontsize( size = 14, part = "header") %>%
fontsize( size = 12, part = "body")
Participant Characteristics, Baseline (N = 2661) | |
Variables | N (%) |
age (mean (sd)) | 43.72 (13.28) |
sex = Male (%) | 774 ( 39.5) |
race (%) |
|
Asian | 219 ( 8.7) |
Black | 400 ( 15.9) |
Hispanic | 524 ( 20.9) |
Other/Unknown | 158 ( 6.3) |
White | 1212 ( 48.2) |
language (%) |
|
English | 1723 ( 94.9) |
Other | 4 ( 0.2) |
Spanish | 89 ( 4.9) |
education_level (%) |
|
| 58 ( 2.3) |
8th grade or less | 61 ( 2.4) |
Associate's or bachelor's degree | 725 ( 28.1) |
High school degree or equivalent (GED) | 440 ( 17.1) |
Professional or graduate degree | 501 ( 19.4) |
Some college credit, no degree | 596 ( 23.1) |
Some high school, no degree | 85 ( 3.3) |
Some professional or graduate school, no degree | 110 ( 4.3) |
early_ruleout = No (%) | 2576 (100.0) |
# kable(caption = "Table 1. Participant Characteristics (N = 2982)") %>%
# kable_styling(bootstrap_options = c("striped", "hover", "condensed","responsive"),full_width = FALSE)
# by race
table1_byrace <- CreateTableOne(var, strata = "race",factorVars = facvar,data = df %>% filter(! race == "Other/Unknown"))
table1_byrace <- print(table1_byrace, printToggle = F)
table1_byrace %>%
as.data.frame() %>%
rownames_to_column("Variables") %>%
filter(!Variables %in% c("n", " ")) %>%
flextable::flextable() %>%
autofit(add_w = 0.3) %>%
align(align = "left") %>%
align(align = "left", part = "header") %>%
add_header_lines("Participant Characteristics by race, Baseline (N = 2661)") %>%
fontsize( size = 14, part = "header") %>%
fontsize( size = 12, part = "body")
Participant Characteristics by race, Baseline (N = 2661) | ||||||
Variables | Asian | Black | Hispanic | White | p | test |
age (mean (sd)) | 42.05 (12.63) | 40.67 (13.78) | 40.26 (11.18) | 46.63 (13.34) | <0.001 | |
sex = Male (%) | 57 ( 34.8) | 176 ( 49.6) | 138 ( 44.2) | 350 ( 35.7) | <0.001 | |
race (%) |
|
|
|
| <0.001 | |
Asian | 219 (100.0) | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) | ||
Black | 0 ( 0.0) | 400 (100.0) | 0 ( 0.0) | 0 ( 0.0) | ||
Hispanic | 0 ( 0.0) | 0 ( 0.0) | 524 (100.0) | 0 ( 0.0) | ||
White | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) | 1212 (100.0) | ||
language (%) |
|
|
|
| <0.001 | |
English | 148 ( 97.4) | 330 ( 99.4) | 194 ( 75.2) | 937 ( 98.7) | ||
Other | 4 ( 2.6) | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) | ||
Spanish | 0 ( 0.0) | 2 ( 0.6) | 64 ( 24.8) | 12 ( 1.3) | ||
education_level (%) |
|
|
|
| <0.001 | |
| 1 ( 0.5) | 12 ( 3.0) | 11 ( 2.1) | 25 ( 2.1) | ||
8th grade or less | 5 ( 2.3) | 3 ( 0.8) | 32 ( 6.1) | 12 ( 1.0) | ||
Associate's or bachelor's degree | 82 ( 37.4) | 91 ( 22.8) | 104 ( 19.8) | 395 ( 32.6) | ||
High school degree or equivalent (GED) | 21 ( 9.6) | 92 ( 23.0) | 122 ( 23.3) | 163 ( 13.4) | ||
Professional or graduate degree | 66 ( 30.1) | 49 ( 12.2) | 61 ( 11.6) | 285 ( 23.5) | ||
Some college credit, no degree | 35 ( 16.0) | 128 ( 32.0) | 134 ( 25.6) | 247 ( 20.4) | ||
Some high school, no degree | 2 ( 0.9) | 12 ( 3.0) | 47 ( 9.0) | 17 ( 1.4) | ||
Some professional or graduate school, no degree | 7 ( 3.2) | 13 ( 3.2) | 13 ( 2.5) | 68 ( 5.6) | ||
early_ruleout = No (%) | 219 (100.0) | 400 (100.0) | 524 (100.0) | 1212 (100.0) | NA | |
write.csv(table1_byrace, "./Output/Non-Early Ruleout table patient characteristics by race ethnicity.csv")
# This sample only has early_ruleout == Yes, so this step is not needed.
# table1_pre <- CreateTableOne(var, strata = "early_ruleout",factorVars = facvar,data = df )
# table1_pre <- print(table1_pre, printToggle = F)
#
#
# table1_pre %>%
# as.data.frame() %>%
# rownames_to_column("Variables") %>%
# filter(!Variables %in% c("n", " ")) %>%
# flextable::flextable() %>%
# autofit(add_w = 0.3) %>%
# align(align = "left") %>%
# align(align = "left", part = "header") %>%
# add_header_lines("Participant Characteristics by early_ruleout, Baseline (N = 2934)") %>%
# fontsize( size = 14, part = "header") %>%
# fontsize( size = 12, part = "body")
#
# write.csv(table1_pre, "./Output/Non-Early Ruleout table patient characteristics by pre breeze screen.csv")
# by patient relationship
table1_rel <- CreateTableOne(var, strata = "recip_rel",factorVars = facvar,data = df )
table1_rel <- print(table1_rel, printToggle = F)
table1_rel %>%
as.data.frame() %>%
rownames_to_column("Variables") %>%
filter(!Variables %in% c("n", " ")) %>%
flextable::flextable() %>%
autofit(add_w = 0.3) %>%
align(align = "left") %>%
align(align = "left", part = "header") %>%
add_header_lines("Participant Characteristics by relationship with recipient, Baseline (N = 2661)") %>%
fontsize( size = 14, part = "header") %>%
fontsize( size = 12, part = "body")
Participant Characteristics by relationship with recipient, Baseline (N = 2661) | |||||||||||
Variables | Another blood or biological relative | Another relative, not related biologically | My brother or sister | My child | My friend or acquaintance | My parent | My spouse or life partner | Other | The next patient needing a kidney, chosen by the transplant center | p | test |
age (mean (sd)) | 41.69 (13.14) | 41.62 (14.45) | 42.85 (12.62) | 47.80 (11.66) | 43.29 (11.62) | 31.76 (7.98) | 49.49 (11.64) | 46.22 (12.91) | 50.71 (13.41) | <0.001 | |
sex = Male (%) | 62 ( 44.3) | 53 ( 49.5) | 124 ( 46.4) | 32 ( 36.4) | 112 ( 32.3) | 169 ( 50.8) | 113 ( 34.8) | 29 ( 36.7) | 9 ( 47.4) | <0.001 | |
race (%) |
|
|
|
|
|
|
|
|
| <0.001 | |
Asian | 8 ( 5.5) | 5 ( 4.7) | 21 ( 7.8) | 9 ( 9.2) | 7 ( 2.0) | 18 ( 5.3) | 39 ( 11.8) | 5 ( 6.3) | 0 ( 0.0) | ||
Black | 43 ( 29.7) | 19 ( 17.9) | 61 ( 22.8) | 15 ( 15.3) | 37 ( 10.6) | 109 ( 32.3) | 51 ( 15.5) | 12 ( 15.2) | 0 ( 0.0) | ||
Hispanic | 27 ( 18.6) | 18 ( 17.0) | 61 ( 22.8) | 36 ( 36.7) | 48 ( 13.7) | 61 ( 18.1) | 49 ( 14.8) | 16 ( 20.3) | 1 ( 5.3) | ||
Other/Unknown | 14 ( 9.7) | 6 ( 5.7) | 26 ( 9.7) | 10 ( 10.2) | 23 ( 6.6) | 19 ( 5.6) | 24 ( 7.3) | 4 ( 5.1) | 0 ( 0.0) | ||
White | 53 ( 36.6) | 58 ( 54.7) | 99 ( 36.9) | 28 ( 28.6) | 235 ( 67.1) | 130 ( 38.6) | 167 ( 50.6) | 42 ( 53.2) | 18 ( 94.7) | ||
language (%) |
|
|
|
|
|
|
|
|
| NaN | |
English | 122 ( 93.8) | 95 ( 96.0) | 219 ( 90.9) | 59 ( 80.8) | 321 ( 97.9) | 303 ( 97.7) | 272 ( 94.1) | 70 ( 93.3) | 18 (100.0) | ||
Other | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) | ||
Spanish | 8 ( 6.2) | 4 ( 4.0) | 22 ( 9.1) | 14 ( 19.2) | 7 ( 2.1) | 7 ( 2.3) | 17 ( 5.9) | 5 ( 6.7) | 0 ( 0.0) | ||
education_level (%) |
|
|
|
|
|
|
|
|
| <0.001 | |
| 6 ( 4.1) | 2 ( 1.9) | 2 ( 0.7) | 6 ( 6.1) | 10 ( 2.9) | 13 ( 3.9) | 9 ( 2.7) | 2 ( 2.5) | 1 ( 5.3) | ||
8th grade or less | 1 ( 0.7) | 2 ( 1.9) | 19 ( 7.0) | 16 ( 16.3) | 6 ( 1.7) | 3 ( 0.9) | 8 ( 2.4) | 1 ( 1.3) | 0 ( 0.0) | ||
Associate's or bachelor's degree | 31 ( 21.4) | 28 ( 26.2) | 67 ( 24.8) | 16 ( 16.3) | 108 ( 30.9) | 103 ( 30.6) | 83 ( 25.2) | 21 ( 26.6) | 6 ( 31.6) | ||
High school degree or equivalent (GED) | 32 ( 22.1) | 27 ( 25.2) | 53 ( 19.6) | 20 ( 20.4) | 62 ( 17.7) | 62 ( 18.4) | 73 ( 22.1) | 14 ( 17.7) | 2 ( 10.5) | ||
Professional or graduate degree | 30 ( 20.7) | 16 ( 15.0) | 42 ( 15.6) | 8 ( 8.2) | 68 ( 19.4) | 41 ( 12.2) | 74 ( 22.4) | 17 ( 21.5) | 5 ( 26.3) | ||
Some college credit, no degree | 32 ( 22.1) | 23 ( 21.5) | 57 ( 21.1) | 22 ( 22.4) | 71 ( 20.3) | 95 ( 28.2) | 60 ( 18.2) | 18 ( 22.8) | 2 ( 10.5) | ||
Some high school, no degree | 7 ( 4.8) | 5 ( 4.7) | 18 ( 6.7) | 7 ( 7.1) | 3 ( 0.9) | 8 ( 2.4) | 11 ( 3.3) | 5 ( 6.3) | 0 ( 0.0) | ||
Some professional or graduate school, no degree | 6 ( 4.1) | 4 ( 3.7) | 12 ( 4.4) | 3 ( 3.1) | 22 ( 6.3) | 12 ( 3.6) | 12 ( 3.6) | 1 ( 1.3) | 3 ( 15.8) | ||
early_ruleout = No (%) | 145 (100.0) | 107 (100.0) | 270 (100.0) | 98 (100.0) | 350 (100.0) | 337 (100.0) | 330 (100.0) | 79 (100.0) | 19 (100.0) | NA | |
write.csv(table1_rel, "./Output/Non-Early Ruleout table patient characteristics by relationship.csv")
mot_better: By donating, I could make someone’s life better.
mot_belief: Donating could help my recipient live longer and have the freedom to do what is important.
mot_proud: Donating will make me feel proud of myself;
mot_benefit: I believe that donating will benefit the recipient’s entire family.
mot_helpfam: I believe that I should help my family and friends.
var_motivation <- df %>% select(starts_with("mot_"), -contains("_nolabel")) %>% names()
# df0 <- data.frame()
# df.new <- lapply(df[var_motivation], function(x) tabyl(x) %>% adorn_pct_formatting() %>% rbind(.,df0))
#
#
# df_df <- do.call(rbind, df.new) %>%
# rownames_to_column("Motivations") %>%
# select(
# Motivations, levels = x, n, valid_percent
# )
#
# df_df %>% flextable() %>% autofit(add_w = 0.3)
table.moti <- CreateTableOne(var_motivation, data=df %>% filter(! race == "Other/Unknown" ))
table.moti <- print(table.moti, printToggle = F)
table.moti
##
## Overall
## n "2355"
## mot_better (%) ""
## Extremely important "2054 (89.2) "
## Important " 230 (10.0) "
## Not at all important " 7 ( 0.3) "
## Slightly important " 12 ( 0.5) "
## mot_belief (%) ""
## Extremely important "1187 (51.9) "
## Important " 622 (27.2) "
## Not at all important " 249 (10.9) "
## Slightly important " 230 (10.1) "
## mot_longer (%) ""
## Extremely important "2118 (91.6) "
## Important " 187 ( 8.1) "
## Not at all important " 4 ( 0.2) "
## Slightly important " 4 ( 0.2) "
## mot_proud (%) ""
## Extremely important " 683 (29.9) "
## Important " 414 (18.1) "
## Not at all important " 690 (30.2) "
## Slightly important " 500 (21.9) "
## mot_benefit (%) ""
## Extremely important "1891 (82.3) "
## Important " 320 (13.9) "
## Not at all important " 31 ( 1.3) "
## Slightly important " 56 ( 2.4) "
## mot_helpfam (%) ""
## Extremely important "1777 (77.8) "
## Important " 427 (18.7) "
## Not at all important " 24 ( 1.1) "
## Slightly important " 57 ( 2.5) "
# table.moti %>%
# as.data.frame() %>%
# rownames_to_column("Variables") %>%
# filter(!Variables %in% c("n", " ")) %>%
# select(Variables, `N (%)` = Overall) %>%
# flextable::flextable() %>%
# autofit(add_w = 0.3) %>%
# align(align = "left") %>%
# align(align = "left", part = "header") %>%
# add_header_lines("Participant Characteristics, Baseline (N = 2661)") %>%
# fontsize( size = 14, part = "header") %>%
# fontsize( size = 12, part = "body")
yujieR::pubtableone(df %>% filter(! race == "Other/Unknown" ),var_motivation, var_motivation, "race")
Table x: header-here | |||||
Variables | Asian | Black | Hispanic | White | p |
n | 219 | 400 | 524 | 1212 | |
mot_better.... | 0.179 | ||||
X...Extremely.important | 190 (89.2) | 335 (87.0) | 448 (87.2) | 1081 (90.8) | |
X...Important | 21 ( 9.9) | 46 (11.9) | 62 (12.1) | 101 ( 8.5) | |
X...Not.at.all.important | 0 ( 0.0) | 2 ( 0.5) | 0 ( 0.0) | 5 ( 0.4) | |
X...Slightly.important | 2 ( 0.9) | 2 ( 0.5) | 4 ( 0.8) | 4 ( 0.3) | |
mot_belief.... | <0.001 | ||||
X...Extremely.important.1 | 118 (55.4) | 213 (56.3) | 273 (53.8) | 583 (49.0) | |
X...Important.1 | 53 (24.9) | 106 (28.0) | 146 (28.8) | 317 (26.6) | |
X...Not.at.all.important.1 | 15 ( 7.0) | 23 ( 6.1) | 56 (11.0) | 155 (13.0) | |
X...Slightly.important.1 | 27 (12.7) | 36 ( 9.5) | 32 ( 6.3) | 135 (11.3) | |
mot_longer.... | 0.644 | ||||
X...Extremely.important.2 | 192 (89.7) | 351 (90.5) | 474 (91.5) | 1101 (92.3) | |
X...Important.2 | 22 (10.3) | 35 ( 9.0) | 42 ( 8.1) | 88 ( 7.4) | |
X...Not.at.all.important.2 | 0 ( 0.0) | 1 ( 0.3) | 0 ( 0.0) | 3 ( 0.3) | |
X...Slightly.important.2 | 0 ( 0.0) | 1 ( 0.3) | 2 ( 0.4) | 1 ( 0.1) | |
mot_proud.... | <0.001 | ||||
X...Extremely.important.3 | 82 (38.9) | 163 (43.2) | 201 (39.3) | 237 (20.0) | |
X...Important.3 | 31 (14.7) | 75 (19.9) | 106 (20.7) | 202 (17.0) | |
X...Not.at.all.important.3 | 64 (30.3) | 93 (24.7) | 114 (22.3) | 419 (35.3) | |
X...Slightly.important.3 | 34 (16.1) | 46 (12.2) | 91 (17.8) | 329 (27.7) | |
mot_benefit.... | 0.629 | ||||
X...Extremely.important.4 | 179 (83.6) | 314 (82.2) | 422 (82.3) | 976 (82.1) | |
X...Important.4 | 28 (13.1) | 57 (14.9) | 75 (14.6) | 160 (13.5) | |
X...Not.at.all.important.4 | 1 ( 0.5) | 6 ( 1.6) | 4 ( 0.8) | 20 ( 1.7) | |
X...Slightly.important.4 | 6 ( 2.8) | 5 ( 1.3) | 12 ( 2.3) | 33 ( 2.8) | |
mot_helpfam.... | 0.600 | ||||
X...Extremely.important.5 | 166 (78.3) | 301 (79.2) | 396 (78.0) | 914 (77.1) | |
X...Important.5 | 39 (18.4) | 68 (17.9) | 100 (19.7) | 220 (18.6) | |
X...Not.at.all.important.5 | 2 ( 0.9) | 4 ( 1.1) | 1 ( 0.2) | 17 ( 1.4) | |
X...Slightly.important.5 | 5 ( 2.4) | 7 ( 1.8) | 11 ( 2.2) | 34 ( 2.9) | |
footer-here | |||||
table.motiByRace <- CreateTableOne(var_motivation, strata = "race", data=df %>% filter(! race == "Other/Unknown" ))
table.motiByRace <- print(table.motiByRace, printToggle = F)
table.motiByRace %>%
as.data.frame() %>%
rownames_to_column("Variables") %>%
filter(!Variables %in% c("n", " ")) %>%
flextable::flextable() %>%
autofit(add_w = 0.3) %>%
align(align = "left") %>%
align(align = "left", part = "header") %>%
add_header_lines("Participant Characteristics, Baseline (N = 2661)") %>%
fontsize( size = 14, part = "header") %>%
fontsize( size = 12, part = "body")
Participant Characteristics, Baseline (N = 2661) | ||||||
Variables | Asian | Black | Hispanic | White | p | test |
mot_better.... | 0.179 | |||||
X...Extremely.important | 190 (89.2) | 335 (87.0) | 448 (87.2) | 1081 (90.8) | ||
X...Important | 21 ( 9.9) | 46 (11.9) | 62 (12.1) | 101 ( 8.5) | ||
X...Not.at.all.important | 0 ( 0.0) | 2 ( 0.5) | 0 ( 0.0) | 5 ( 0.4) | ||
X...Slightly.important | 2 ( 0.9) | 2 ( 0.5) | 4 ( 0.8) | 4 ( 0.3) | ||
mot_belief.... | <0.001 | |||||
X...Extremely.important.1 | 118 (55.4) | 213 (56.3) | 273 (53.8) | 583 (49.0) | ||
X...Important.1 | 53 (24.9) | 106 (28.0) | 146 (28.8) | 317 (26.6) | ||
X...Not.at.all.important.1 | 15 ( 7.0) | 23 ( 6.1) | 56 (11.0) | 155 (13.0) | ||
X...Slightly.important.1 | 27 (12.7) | 36 ( 9.5) | 32 ( 6.3) | 135 (11.3) | ||
mot_longer.... | 0.644 | |||||
X...Extremely.important.2 | 192 (89.7) | 351 (90.5) | 474 (91.5) | 1101 (92.3) | ||
X...Important.2 | 22 (10.3) | 35 ( 9.0) | 42 ( 8.1) | 88 ( 7.4) | ||
X...Not.at.all.important.2 | 0 ( 0.0) | 1 ( 0.3) | 0 ( 0.0) | 3 ( 0.3) | ||
X...Slightly.important.2 | 0 ( 0.0) | 1 ( 0.3) | 2 ( 0.4) | 1 ( 0.1) | ||
mot_proud.... | <0.001 | |||||
X...Extremely.important.3 | 82 (38.9) | 163 (43.2) | 201 (39.3) | 237 (20.0) | ||
X...Important.3 | 31 (14.7) | 75 (19.9) | 106 (20.7) | 202 (17.0) | ||
X...Not.at.all.important.3 | 64 (30.3) | 93 (24.7) | 114 (22.3) | 419 (35.3) | ||
X...Slightly.important.3 | 34 (16.1) | 46 (12.2) | 91 (17.8) | 329 (27.7) | ||
mot_benefit.... | 0.629 | |||||
X...Extremely.important.4 | 179 (83.6) | 314 (82.2) | 422 (82.3) | 976 (82.1) | ||
X...Important.4 | 28 (13.1) | 57 (14.9) | 75 (14.6) | 160 (13.5) | ||
X...Not.at.all.important.4 | 1 ( 0.5) | 6 ( 1.6) | 4 ( 0.8) | 20 ( 1.7) | ||
X...Slightly.important.4 | 6 ( 2.8) | 5 ( 1.3) | 12 ( 2.3) | 33 ( 2.8) | ||
mot_helpfam.... | 0.600 | |||||
X...Extremely.important.5 | 166 (78.3) | 301 (79.2) | 396 (78.0) | 914 (77.1) | ||
X...Important.5 | 39 (18.4) | 68 (17.9) | 100 (19.7) | 220 (18.6) | ||
X...Not.at.all.important.5 | 2 ( 0.9) | 4 ( 1.1) | 1 ( 0.2) | 17 ( 1.4) | ||
X...Slightly.important.5 | 5 ( 2.4) | 7 ( 1.8) | 11 ( 2.2) | 34 ( 2.9) | ||
write.csv(table.motiByRace, "./Output/Non-Early Ruleouttable motivation by race ethnicity.csv")
# by who passed breeze or breeze like screening
# yujieR::pubtableone(df,var_motivation, var_motivation, "early_ruleout")
# table1_pre_mot <- CreateTableOne(var_motivation, strata = "early_ruleout",factorVars = facvar,data = df )
# table1_pre_mot <- print(table1_pre_mot, printToggle = F)
#
#
# write.csv(table1_pre_mot, "./Output/Non-Early Ruleout table motivation by pre breeze screen.csv")
# by relationship
yujieR::pubtableone(df,var_motivation, var_motivation, "recip_rel")
Table x: header-here | ||||||||||
Variables | Another blood or biological relative | Another relative, not related biologically | My brother or sister | My child | My friend or acquaintance | My parent | My spouse or life partner | Other | The next patient needing a kidney, chosen by the transplant center | p |
n | 145 | 107 | 270 | 98 | 350 | 337 | 330 | 79 | 19 | |
mot_better.... |
| 0.234 | ||||||||
X...Extremely.important | 122 (87.1) | 90 (85.7) | 231 (87.2) | 82 (87.2) | 318 (93.0) | 290 (88.7) | 275 (88.1) | 64 (82.1) | 18 (94.7) | |
X...Important | 17 (12.1) | 12 (11.4) | 31 (11.7) | 12 (12.8) | 23 ( 6.7) | 34 (10.4) | 32 (10.3) | 14 (17.9) | 1 ( 5.3) | |
X...Not.at.all.important | 0 ( 0.0) | 1 ( 1.0) | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) | 3 ( 0.9) | 2 ( 0.6) | 0 ( 0.0) | 0 ( 0.0) | |
X...Slightly.important | 1 ( 0.7) | 2 ( 1.9) | 3 ( 1.1) | 0 ( 0.0) | 1 ( 0.3) | 0 ( 0.0) | 3 ( 1.0) | 0 ( 0.0) | 0 ( 0.0) | |
mot_belief.... |
| 0.018 | ||||||||
X...Extremely.important.1 | 68 (49.3) | 50 (49.0) | 130 (49.2) | 50 (53.2) | 200 (58.5) | 154 (47.4) | 162 (53.3) | 44 (56.4) | 12 (63.2) | |
X...Important.1 | 40 (29.0) | 30 (29.4) | 76 (28.8) | 37 (39.4) | 78 (22.8) | 84 (25.8) | 89 (29.3) | 19 (24.4) | 6 (31.6) | |
X...Not.at.all.important.1 | 16 (11.6) | 14 (13.7) | 36 (13.6) | 5 ( 5.3) | 33 ( 9.6) | 40 (12.3) | 29 ( 9.5) | 6 ( 7.7) | 0 ( 0.0) | |
X...Slightly.important.1 | 14 (10.1) | 8 ( 7.8) | 22 ( 8.3) | 2 ( 2.1) | 31 ( 9.1) | 47 (14.5) | 24 ( 7.9) | 9 (11.5) | 1 ( 5.3) | |
mot_longer.... |
| 0.029 | ||||||||
X...Extremely.important.2 | 128 (92.1) | 95 (90.5) | 245 (91.4) | 91 (93.8) | 309 (89.8) | 306 (92.2) | 290 (92.4) | 62 (79.5) | 16 (84.2) | |
X...Important.2 | 11 ( 7.9) | 10 ( 9.5) | 21 ( 7.8) | 6 ( 6.2) | 35 (10.2) | 25 ( 7.5) | 21 ( 6.7) | 14 (17.9) | 3 (15.8) | |
X...Not.at.all.important.2 | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) | 1 ( 0.3) | 2 ( 0.6) | 0 ( 0.0) | 0 ( 0.0) | |
X...Slightly.important.2 | 0 ( 0.0) | 0 ( 0.0) | 2 ( 0.7) | 0 ( 0.0) | 0 ( 0.0) | 0 ( 0.0) | 1 ( 0.3) | 2 ( 2.6) | 0 ( 0.0) | |
mot_proud.... |
| 0.015 | ||||||||
X...Extremely.important.3 | 51 (36.7) | 38 (37.3) | 91 (34.6) | 41 (43.2) | 90 (26.2) | 129 (39.7) | 100 (33.1) | 20 (25.6) | 6 (31.6) | |
X...Important.3 | 24 (17.3) | 16 (15.7) | 49 (18.6) | 16 (16.8) | 63 (18.3) | 51 (15.7) | 60 (19.9) | 20 (25.6) | 5 (26.3) | |
X...Not.at.all.important.3 | 45 (32.4) | 30 (29.4) | 81 (30.8) | 30 (31.6) | 104 (30.2) | 78 (24.0) | 91 (30.1) | 22 (28.2) | 4 (21.1) | |
X...Slightly.important.3 | 19 (13.7) | 18 (17.6) | 42 (16.0) | 8 ( 8.4) | 87 (25.3) | 67 (20.6) | 51 (16.9) | 16 (20.5) | 4 (21.1) | |
mot_benefit.... |
| 0.307 | ||||||||
X...Extremely.important.4 | 114 (82.6) | 88 (83.8) | 225 (84.3) | 79 (83.2) | 286 (83.4) | 288 (88.1) | 256 (83.4) | 60 (76.9) | 16 (88.9) | |
X...Important.4 | 20 (14.5) | 15 (14.3) | 37 (13.9) | 14 (14.7) | 50 (14.6) | 32 ( 9.8) | 42 (13.7) | 16 (20.5) | 1 ( 5.6) | |
X...Not.at.all.important.4 | 0 ( 0.0) | 0 ( 0.0) | 3 ( 1.1) | 1 ( 1.1) | 2 ( 0.6) | 4 ( 1.2) | 7 ( 2.3) | 2 ( 2.6) | 0 ( 0.0) | |
X...Slightly.important.4 | 4 ( 2.9) | 2 ( 1.9) | 2 ( 0.7) | 1 ( 1.1) | 5 ( 1.5) | 3 ( 0.9) | 2 ( 0.7) | 0 ( 0.0) | 1 ( 5.6) | |
mot_helpfam.... |
| 0.600 | ||||||||
X...Extremely.important.5 | 104 (75.4) | 83 (82.2) | 219 (83.0) | 70 (74.5) | 265 (77.0) | 271 (82.6) | 243 (79.4) | 59 (76.6) | 16 (88.9) | |
X...Important.5 | 33 (23.9) | 16 (15.8) | 40 (15.2) | 23 (24.5) | 71 (20.6) | 53 (16.2) | 54 (17.6) | 14 (18.2) | 2 (11.1) | |
X...Not.at.all.important.5 | 0 ( 0.0) | 0 ( 0.0) | 2 ( 0.8) | 0 ( 0.0) | 1 ( 0.3) | 1 ( 0.3) | 3 ( 1.0) | 1 ( 1.3) | 0 ( 0.0) | |
X...Slightly.important.5 | 1 ( 0.7) | 2 ( 2.0) | 3 ( 1.1) | 1 ( 1.1) | 7 ( 2.0) | 3 ( 0.9) | 6 ( 2.0) | 3 ( 3.9) | 0 ( 0.0) | |
footer-here | ||||||||||
# library(export)
#
religion_important: How important is religion or spirituality in your life?
religion_god: Do you believe in God or a universal spirit?
religion_mem: Are you a member of a church, synagogue or other place of worship?
var_religion <- df %>% select(starts_with("religion_"), -contains("_nolabel")) %>% names()
table.relig <- CreateTableOne(var_religion, data=df %>% filter(! race == "Other/Unknown" ))
table.relig <- print(table.relig, printToggle = F)
table.relig %>%
as.data.frame() %>%
rownames_to_column("Variables") %>%
filter(!Variables %in% c("n", " ")) %>%
select(Variables, `N (%)` = Overall) %>%
flextable::flextable() %>%
autofit(add_w = 0.3) %>%
align(align = "left") %>%
align(align = "left", part = "header") %>%
add_header_lines("Participant Characteristics, Baseline (N = 2661)") %>%
fontsize( size = 14, part = "header") %>%
fontsize( size = 12, part = "body")
Participant Characteristics, Baseline (N = 2661) | |
Variables | N (%) |
religion_import.... | |
X...Faily.Important | 624 (27.0) |
X...I.am.not.religious.or.spiritual | 216 ( 9.3) |
X...I.choose.not.to.answer | 171 ( 7.4) |
X...Not.Very.Important | 269 (11.6) |
X...Very.Important | 1034 (44.7) |
religion_god.... | |
X...I.choose.not.to.answer.1 | 111 ( 4.8) |
X...No | 130 ( 5.6) |
X...Not.sure | 161 ( 7.0) |
X...Yes | 1910 (82.6) |
religion_mem.... | |
X...I.choose.not.to.answer.2 | 173 ( 7.5) |
X...No.1 | 1026 (44.5) |
X...Yes.1 | 1107 (48.0) |
# by race
yujieR::pubtableone(df %>% filter(! race == "Other/Unknown" ),var_religion, var_religion, "race")
Table x: header-here | |||||
Variables | Asian | Black | Hispanic | White | p |
n | 219 | 400 | 524 | 1212 | |
religion_import.... |
| <0.001 | |||
X...Faily.Important | 54 (25.4) | 92 (23.8) | 136 (26.2) | 342 (28.6) | |
X...I.am.not.religious.or.spiritual | 14 ( 6.6) | 13 ( 3.4) | 38 ( 7.3) | 151 (12.6) | |
X...I.choose.not.to.answer | 17 ( 8.0) | 33 ( 8.5) | 48 ( 9.2) | 73 ( 6.1) | |
X...Not.Very.Important | 26 (12.2) | 18 ( 4.7) | 49 ( 9.4) | 176 (14.7) | |
X...Very.Important | 102 (47.9) | 231 (59.7) | 248 (47.8) | 453 (37.9) | |
religion_god.... |
| <0.001 | |||
X...I.choose.not.to.answer.1 | 16 ( 7.5) | 16 ( 4.1) | 22 ( 4.2) | 57 ( 4.8) | |
X...No | 8 ( 3.8) | 4 ( 1.0) | 14 ( 2.7) | 104 ( 8.7) | |
X...Not.sure | 23 (10.8) | 11 ( 2.8) | 26 ( 5.0) | 101 ( 8.5) | |
X...Yes | 165 (77.8) | 357 (92.0) | 457 (88.1) | 931 (78.0) | |
religion_mem.... |
| <0.001 | |||
X...I.choose.not.to.answer.2 | 16 ( 7.4) | 32 ( 8.3) | 38 ( 7.4) | 87 ( 7.3) | |
X...No.1 | 87 (40.5) | 135 (35.2) | 265 (51.3) | 539 (45.3) | |
X...Yes.1 | 112 (52.1) | 217 (56.5) | 214 (41.4) | 564 (47.4) | |
footer-here | |||||
table.religionByRace <- CreateTableOne(var_religion, strata = "race", data=df %>% filter(! race == "Other/Unknown" ))
table.religionByRace <- print(table.religionByRace, printToggle = F)
write.csv(table.religionByRace, "./Output/Non-Early Ruleout table religion by race ethnicity.csv")
# by who passed breeze or breeze like screening
# yujieR::pubtableone(df,var_religion, var_religion, "early_ruleout")
#
# table1_pre_religion <- CreateTableOne(var_religion, strata = "early_ruleout",factorVars = facvar,data = df )
# table1_pre_religion <- print(table1_pre_religion, printToggle = F)
#
# write.csv(table1_pre_religion, "./Output/Non-Early Ruleout table religion by pre breeze screen.csv")
# by relationship
yujieR::pubtableone(df,var_religion, var_religion, "recip_rel")
Table x: header-here | ||||||||||
Variables | Another blood or biological relative | Another relative, not related biologically | My brother or sister | My child | My friend or acquaintance | My parent | My spouse or life partner | Other | The next patient needing a kidney, chosen by the transplant center | p |
n | 145 | 107 | 270 | 98 | 350 | 337 | 330 | 79 | 19 | |
religion_import.... |
| 0.003 | ||||||||
X...Faily.Important | 40 (29.0) | 32 (31.1) | 74 (27.7) | 23 (24.5) | 86 (24.8) | 98 (29.5) | 85 (26.6) | 19 (24.7) | 2 (10.5) | |
X...I.am.not.religious.or.spiritual | 10 ( 7.2) | 6 ( 5.8) | 13 ( 4.9) | 3 ( 3.2) | 31 ( 8.9) | 41 (12.3) | 17 ( 5.3) | 6 ( 7.8) | 2 (10.5) | |
X...I.choose.not.to.answer | 12 ( 8.7) | 10 ( 9.7) | 24 ( 9.0) | 10 (10.6) | 28 ( 8.1) | 36 (10.8) | 18 ( 5.6) | 7 ( 9.1) | 0 ( 0.0) | |
X...Not.Very.Important | 12 ( 8.7) | 10 ( 9.7) | 33 (12.4) | 7 ( 7.4) | 41 (11.8) | 48 (14.5) | 38 (11.9) | 4 ( 5.2) | 5 (26.3) | |
X...Very.Important | 64 (46.4) | 45 (43.7) | 123 (46.1) | 51 (54.3) | 161 (46.4) | 109 (32.8) | 162 (50.6) | 41 (53.2) | 10 (52.6) | |
religion_god.... |
| 0.088 | ||||||||
X...I.choose.not.to.answer.1 | 7 ( 5.0) | 8 ( 7.7) | 13 ( 4.9) | 3 ( 3.2) | 14 ( 4.1) | 24 ( 7.2) | 17 ( 5.3) | 2 ( 2.6) | 0 ( 0.0) | |
X...No | 4 ( 2.8) | 3 ( 2.9) | 5 ( 1.9) | 4 ( 4.3) | 13 ( 3.8) | 20 ( 6.0) | 10 ( 3.1) | 3 ( 3.8) | 1 ( 5.3) | |
X...Not.sure | 7 ( 5.0) | 7 ( 6.7) | 13 ( 4.9) | 1 ( 1.1) | 22 ( 6.4) | 25 ( 7.5) | 9 ( 2.8) | 4 ( 5.1) | 3 (15.8) | |
X...Yes | 123 (87.2) | 86 (82.7) | 236 (88.4) | 86 (91.5) | 293 (85.7) | 263 (79.2) | 285 (88.8) | 69 (88.5) | 15 (78.9) | |
religion_mem.... |
| 0.233 | ||||||||
X...I.choose.not.to.answer.2 | 15 (10.8) | 7 ( 6.7) | 22 ( 8.3) | 9 ( 9.8) | 31 ( 9.0) | 27 ( 8.1) | 25 ( 7.9) | 6 ( 7.9) | 0 ( 0.0) | |
X...No.1 | 55 (39.6) | 47 (45.2) | 111 (41.9) | 30 (32.6) | 152 (44.1) | 166 (50.0) | 125 (39.3) | 38 (50.0) | 11 (57.9) | |
X...Yes.1 | 69 (49.6) | 50 (48.1) | 132 (49.8) | 53 (57.6) | 162 (47.0) | 139 (41.9) | 168 (52.8) | 32 (42.1) | 8 (42.1) | |
footer-here | ||||||||||
So far only 12 potential donors claims to be “altruistic” donors.
df$pt_stat %>% tabyl() %>% adorn_pct_formatting() # for ucla variable
## . n percent valid_percent
## Altruistic 12 0.5% 2.9%
## Back-up Donor 46 1.8% 11.2%
## Declined participation 1 0.0% 0.2%
## Donated Kidney 93 3.6% 22.6%
## Inactive 42 1.6% 10.2%
## Ineligible 154 6.0% 37.4%
## Lost to Follow-Up 25 1.0% 6.1%
## Never enrolled 1 0.0% 0.2%
## Opt Out 17 0.7% 4.1%
## Overweight 9 0.3% 2.2%
## Paired-Exchange (non-UCLA) 4 0.2% 1.0%
## Paired-Exchange (UCLA) 4 0.2% 1.0%
## Reached Call Limit 4 0.2% 1.0%
## <NA> 2164 84.0% -
# df$recip_rel %>% tabyl() # for ucla variable
Most donors(78%) heard about the need of a donor in either in-person conversations or telephone conversations, and this is consistent across racial/ethnicity groups. Only 6% heard about the need from social media platforms like facebook.
df$recip_first_how %>% tabyl() %>%
adorn_pct_formatting() %>%
arrange(-n) %>%
select(-valid_percent)
## . n percent
## 1 In an in-person conversation 1663 64.6%
## 2 In a telephone conversation 346 13.4%
## 3 Other 266 10.3%
## 4 Through a social media post (such as Facebook) 168 6.5%
## 5 In an email or letter 47 1.8%
## 6 I dont remember 43 1.7%
## 7 <NA> 43 1.7%
#by race
tabyl(df ,recip_first_how,race, show_na = FALSE) %>%
adorn_crosstab("col") %>%
as.data.frame() %>%
flextable::flextable() %>%
autofit(add_w = 0.2) %>%
align(align = "left") %>%
align(align = "left", part = "header")
recip_first_how | Asian | Black | Hispanic | Other/Unknown | White |
I dont remember | 1.9% (4) | 1.0% (4) | 1.9% (10) | 0.0% (0) | 2.1% (25) |
In a telephone conversation | 11.6% (25) | 16.5% (66) | 10.7% (55) | 14.8% (23) | 14.2% (169) |
In an email or letter | 0.9% (2) | 0.5% (2) | 0.0% (0) | 0.6% (1) | 2.9% (35) |
In an in-person conversation | 69.9% (151) | 72.2% (288) | 72.6% (374) | 69.0% (107) | 59.8% (710) |
Other | 12.0% (26) | 7.0% (28) | 10.1% (52) | 9.0% (14) | 11.7% (139) |
Through a social media post (such as Facebook) | 3.7% (8) | 2.8% (11) | 4.7% (24) | 6.5% (10) | 9.2% (109) |
# get p value
# CrossTable(df$recip_first_how, df$race, chisq = T)
# by relationship
tabyl(df ,recip_first_how,recip_rel, show_na = FALSE) %>%
adorn_crosstab("col") %>%
as.data.frame() %>%
flextable::flextable() %>%
autofit(add_w = 0.2) %>%
align(align = "left") %>%
align(align = "left", part = "header")
recip_first_how | Another blood or biological relative | Another relative, not related biologically | My brother or sister | My child | My friend or acquaintance | My parent | My spouse or life partner | Other | The next patient needing a kidney, chosen by the transplant center |
I dont remember | 1.4% (2) | 0.0% (0) | 1.5% (4) | 1.1% (1) | 1.7% (6) | 2.7% (9) | 1.9% (6) | 0.0% (0) | 0.0% (0) |
In a telephone conversation | 30.3% (44) | 15.1% (16) | 26.1% (70) | 7.4% (7) | 15.9% (55) | 9.3% (31) | 3.1% (10) | 11.5% (9) | 6.2% (1) |
In an email or letter | 1.4% (2) | 1.9% (2) | 0.7% (2) | 0.0% (0) | 4.3% (15) | 0.3% (1) | 0.0% (0) | 2.6% (2) | 0.0% (0) |
In an in-person conversation | 58.6% (85) | 72.6% (77) | 66.0% (177) | 76.8% (73) | 58.2% (202) | 81.2% (272) | 78.9% (255) | 42.3% (33) | 6.2% (1) |
Other | 4.1% (6) | 4.7% (5) | 4.9% (13) | 14.7% (14) | 4.9% (17) | 6.6% (22) | 16.1% (52) | 21.8% (17) | 68.8% (11) |
Through a social media post (such as Facebook) | 4.1% (6) | 5.7% (6) | 0.7% (2) | 0.0% (0) | 15.0% (52) | 0.0% (0) | 0.0% (0) | 21.8% (17) | 18.8% (3) |
# get p value
# CrossTable(df$recip_first_how, df$recip_rel, chisq = T)
64% of potential donors claimed they needed no time and decided immediately to get tested. This number is 71% for Black and 66% for Hispanic donors, and 62% and 56% for White and Asian donors. When the recipient is a child, 81% of parants describe they needed no time and decided immediately to get tested.
df$recip_time %>% tabyl(show_na = F) %>% adorn_pct_formatting() %>% arrange(-n)
## . n percent
## 1 No time at all, I decided immediately 1576 63.6%
## 2 1 to 7 days 235 9.5%
## 3 More than 1 year 211 8.5%
## 4 2 to 6 months 192 7.7%
## 5 8 days to 1 month 170 6.9%
## 6 6 months to 1 year 94 3.8%
# by race
tabyl(df ,recip_time,race, show_na = FALSE) %>%
as.data.frame() %>%
adorn_crosstab("col") %>%
flextable::flextable() %>%
autofit(add_w = 0.2) %>%
align(align = "left") %>%
align(align = "left", part = "header")
recip_time | Asian | Black | Hispanic | Other/Unknown | White |
1 to 7 days | 11.6% (25) | 5.8% (23) | 6.5% (33) | 7.3% (11) | 11.5% (132) |
2 to 6 months | 10.2% (22) | 6.1% (24) | 8.0% (41) | 6.7% (10) | 7.9% (90) |
6 months to 1 year | 1.9% (4) | 4.3% (17) | 4.1% (21) | 2.0% (3) | 4.1% (47) |
8 days to 1 month | 9.3% (20) | 4.3% (17) | 7.0% (36) | 6.0% (9) | 7.1% (81) |
More than 1 year | 11.6% (25) | 9.9% (39) | 9.0% (46) | 10.0% (15) | 7.1% (81) |
No time at all, I decided immediately | 55.3% (119) | 69.6% (275) | 65.4% (334) | 68.0% (102) | 62.4% (715) |
# by relationship
tabyl(df ,recip_time,recip_rel, show_na = FALSE) %>%
adorn_crosstab("col") %>%
as.data.frame() %>%
flextable::flextable() %>%
autofit(add_w = 0.2) %>%
align(align = "left") %>%
align(align = "left", part = "header")
recip_time | Another blood or biological relative | Another relative, not related biologically | My brother or sister | My child | My friend or acquaintance | My parent | My spouse or life partner | Other | The next patient needing a kidney, chosen by the transplant center |
1 to 7 days | 7.0% (10) | 12.1% (13) | 7.7% (20) | 2.1% (2) | 13.6% (46) | 3.6% (12) | 4.7% (15) | 15.5% (11) | 30.0% (3) |
2 to 6 months | 9.9% (14) | 8.4% (9) | 5.4% (14) | 6.2% (6) | 9.2% (31) | 7.3% (24) | 3.8% (12) | 7.0% (5) | 0.0% (0) |
6 months to 1 year | 4.9% (7) | 1.9% (2) | 4.6% (12) | 3.1% (3) | 3.8% (13) | 4.3% (14) | 2.5% (8) | 1.4% (1) | 10.0% (1) |
8 days to 1 month | 5.6% (8) | 7.5% (8) | 6.2% (16) | 4.1% (4) | 8.9% (30) | 7.0% (23) | 4.4% (14) | 4.2% (3) | 10.0% (1) |
More than 1 year | 5.6% (8) | 6.5% (7) | 6.6% (17) | 4.1% (4) | 7.1% (24) | 8.2% (27) | 9.4% (30) | 8.5% (6) | 20.0% (2) |
No time at all, I decided immediately | 66.9% (95) | 63.6% (68) | 69.5% (180) | 80.4% (78) | 57.4% (194) | 69.6% (229) | 75.3% (241) | 63.4% (45) | 30.0% (3) |
Potential donors’ communitities are often supportive in their decisions. 68% agree or strongly agrees that their communities is supportive in their decisions. Less Black donors (64%) say their communities are supportive. When the recipient is a child, 80% parents feel supported by their communities.
df$donor_comm %>% tabyl(show_na = F) %>% adorn_pct_formatting() %>% arrange(-n)
## . n percent
## 1 Strongly Agree 976 39.4%
## 2 Neither Agree nor Disagree 742 30.0%
## 3 Agree 727 29.4%
## 4 Disagree 18 0.7%
## 5 Strongly Disagree 13 0.5%
# by race
tabyl(df ,donor_comm,race, show_na = FALSE) %>% adorn_crosstab("col") %>%
as.data.frame() %>%
flextable::flextable() %>%
autofit(add_w = 0.2) %>%
align(align = "left") %>%
align(align = "left", part = "header")
donor_comm | Asian | Black | Hispanic | Other/Unknown | White |
Agree | 30.1% (63) | 28.0% (104) | 31.4% (159) | 26.2% (39) | 28.9% (340) |
Disagree | 0.5% (1) | 0.3% (1) | 1.6% (8) | 0.7% (1) | 0.6% (7) |
Neither Agree nor Disagree | 28.2% (59) | 33.3% (124) | 26.7% (135) | 30.2% (45) | 30.8% (363) |
Strongly Agree | 40.7% (85) | 37.1% (138) | 39.9% (202) | 43.0% (64) | 39.3% (462) |
Strongly Disagree | 0.5% (1) | 1.3% (5) | 0.4% (2) | 0.0% (0) | 0.4% (5) |
# by relationship
tabyl(df ,donor_comm,recip_rel, show_na = FALSE) %>%
adorn_crosstab("col") %>%
as.data.frame() %>%
flextable::flextable() %>%
autofit(add_w = 0.2) %>%
align(align = "left") %>%
align(align = "left", part = "header")
donor_comm | Another blood or biological relative | Another relative, not related biologically | My brother or sister | My child | My friend or acquaintance | My parent | My spouse or life partner | Other | The next patient needing a kidney, chosen by the transplant center |
Agree | 30.7% (42) | 25.2% (26) | 28.0% (74) | 20.2% (18) | 32.8% (111) | 24.5% (80) | 30.2% (93) | 23.3% (17) | 31.6% (6) |
Disagree | 1.5% (2) | 1.9% (2) | 0.8% (2) | 0.0% (0) | 0.3% (1) | 0.3% (1) | 0.0% (0) | 1.4% (1) | 0.0% (0) |
Neither Agree nor Disagree | 34.3% (47) | 35.0% (36) | 26.1% (69) | 22.5% (20) | 38.5% (130) | 31.0% (101) | 27.3% (84) | 42.5% (31) | 31.6% (6) |
Strongly Agree | 32.8% (45) | 36.9% (38) | 44.7% (118) | 57.3% (51) | 28.1% (95) | 43.6% (142) | 41.6% (128) | 31.5% (23) | 36.8% (7) |
Strongly Disagree | 0.7% (1) | 1.0% (1) | 0.4% (1) | 0.0% (0) | 0.3% (1) | 0.6% (2) | 1.0% (3) | 1.4% (1) | 0.0% (0) |
Only 13% of potential donors admitted there are someone important in their lives do not want them to donate. Asian donors facing the most resistance from their important ones (17%) followed by White (13%) and Hispanic (15%) and Black donors (8%). When the recipient is a child or spouse/life partner, the potential donors faces least resistance (4% and 8%, respectively).
df$donor_import %>% tabyl(show_na = F) %>% adorn_pct_formatting() %>% arrange(-n)
## . n percent
## 1 No 2009 87.2%
## 2 Yes 294 12.8%
# by race
tabyl(df ,donor_import,race, show_na = FALSE) %>% adorn_crosstab("col") %>%
as.data.frame() %>%
flextable::flextable() %>%
autofit(add_w = 0.2) %>%
align(align = "left") %>%
align(align = "left", part = "header")
donor_import | Asian | Black | Hispanic | Other/Unknown | White |
No | 82.8% (168) | 91.8% (326) | 85.9% (367) | 83.5% (111) | 87.6% (986) |
Yes | 17.2% (35) | 8.2% (29) | 14.1% (60) | 16.5% (22) | 12.4% (139) |
# by relationship
tabyl(df ,donor_import,recip_rel, show_na = FALSE) %>% adorn_crosstab("col") %>%
as.data.frame() %>%
flextable::flextable() %>%
autofit(add_w = 0.2) %>%
align(align = "left") %>%
align(align = "left", part = "header")
donor_import | Another blood or biological relative | Another relative, not related biologically | My brother or sister | My child | My friend or acquaintance | My parent | My spouse or life partner | Other | The next patient needing a kidney, chosen by the transplant center |
No | 86.9% (106) | 88.3% (83) | 93.1% (215) | 96.9% (62) | 87.9% (277) | 90.3% (279) | 93.2% (260) | 86.2% (56) | 88.9% (16) |
Yes | 13.1% (16) | 11.7% (11) | 6.9% (16) | 3.1% (2) | 12.1% (38) | 9.7% (30) | 6.8% (19) | 13.8% (9) | 11.1% (2) |
Fisher’s exact test of these variables by race/ethnicity.
varlist <- Cs(recip_first_how, recip_time, donor_comm,donor_import)
p.all <- do.call(rbind,
lapply(df[varlist], function(x) fisher.test(table(x,df$race), simulate.p.value = T)$p.value)
)
p.all
## [,1]
## recip_first_how 0.0004997501
## recip_time 0.0014992504
## donor_comm 0.3823088456
## donor_import 0.0069965017
# the p values look the same becauses of p-values computed by Monte Carlo simulation, in larger than 2by2 tables, the similar ones will be < 0.001 anyways.
varlist <- Cs(recip_first_how, recip_time, donor_comm,donor_import)
p.all2 <- do.call(rbind,
lapply(df[varlist], function(x) fisher.test(table(x,df$recip_rel), simulate.p.value = TRUE)$p.value)
)
p.all2
## [,1]
## recip_first_how 0.0004997501
## recip_time 0.0004997501
## donor_comm 0.0004997501
## donor_import 0.0719640180