# Libraries
library(tidyverse)
library(readxl)
library(janitor)
#### PIT Survey - Assessment based Reports ####
d_PIT_survey_ARCH <- read_excel("data/Assessment based report_arch_1-25 to 1-28.xlsx",
sheet = "BRCoC - PIT 2022") |>
clean_names()
d_PIT_survey_CHRC <- read_excel("data/Assessment based report_CHRC_1-25 to 1-28.xlsx",
sheet = "BRCoC - PIT 2022")|>
clean_names()
d_PIT_survey_city_of_roanoke <- read_excel("data/Assessment based report_city_1-25 to 1-28.xlsx",
sheet = "BRCoC - PIT 2022")|>
clean_names()|>
mutate(program_name = "City of Roanoke")
d_PIT_survey_FPGR <- read_excel("data/Assessment based report_FPGR_1-25 to 1-28.xlsx",
sheet = "BRCoC - PIT 2022")|>
clean_names()
d_PIT_survey_RM <- read_excel("data/Assessment Based Report_RM Agency_Dates 1-26-22_1-27-22_BRCoC_PIT 2022_278.xlsx",
sheet = "BRCoC - PIT 2022")|>
clean_names()
d_PIT_survey_system <- read_excel("data/Assessment based report_system_1-25 to 1-28.xlsx",
sheet = "BRCoC - PIT 2022")|>
clean_names()
#### PIT Survey Data Not in HMIS (DV Shelters)####
PIT_DV_Shelters <- read_excel("data/PIT_DV_Shelters.xlsx")|>
clean_names()|>
mutate(approximate_date_homelessness_started = as.character(approximate_date_homelessness_started),
total_months_homeless_in_the_past_three_years =
as.character(total_months_homeless_in_the_past_three_years),
how_many_covid_vaccine_doses_have_you_recieved = as.character(how_many_covid_vaccine_doses_have_you_recieved),
unique_id = c(1:5),
unique_id = as.character(unique_id))
#### Profile screen Reports####
d_profile_screen_report_ARCH_families <- read_excel("data/profile_screen_report_shelter_service_based_ARCH_families_1-26.xlsx",
sheet = "Client Profile")|>
clean_names()|>
mutate(program_name = "ARCH families")
d_profile_screen_report_ARCH_vets <- read_excel("data/profile_screen_report_shelter_service_based_ARCH_vets_1-26.xlsx",
sheet= "Client Profile")|>
clean_names()|>
mutate(program_name = "ARCH veterans")
d_profile_screen_report_CHRC <- read_excel("data/profile_screen_report_shelter_service_based_CHRC1-27.xlsx",
sheet = "Client Profile")|>
clean_names()|>
mutate(program_name = "CHRC")
d_profile_screen_report_FPGR <- read_excel("data/profile_screen_report_shelter_service_based_FPGR_1-26_1-27.xlsx",
sheet = "Client Profile")|>
clean_names()|>
mutate(program_name = "Family Promise")
d_profile_screen_report_RM_WCC <- read_excel("data/profile_screen_report_shelter_service_based_1-26_1-26_plus_tally_RM_womens.xlsx",
sheet = "Client Profile")|>
clean_names()|>
mutate(program_name = "RM WCC")
d_profile_screen_report_RM_men <- read_excel("data/profile_screen_report_shelter_service_based_1-26_1-26_RM_mens.xlsx",
sheet = "Client Profile")|>
clean_names()|>
mutate(program_name = "RM Men")
d_profile_screen_report_RM_CWS <- read_excel("data/profile_screen_report_shelter_service_based_1-26_1-27_plus_helens_list_RM_CWS.xlsx",
sheet = "Client Profile")|>
clean_names()|>
mutate(program_name = "RM CWS")
#### APR Data ####
APR_ARCH_ES <- read_csv("data/APR_ARCH_ES.csv", skip = 1)|>
clean_names()
APR_CHRC <- read_csv("data/APR_CHRC.csv", skip = 1)|>
clean_names()
APR_FPGR <- read_csv("data/APR_FPGR.csv",skip = 1)|>
clean_names()
APR_RM <- read_csv("data/APR_RM.csv", skip = 1)|>
clean_names()
# Need to update DV shelter variable names before I merge
# Merge the PIT Survey data frames together
d_PIT_survey_all <- bind_rows(d_PIT_survey_ARCH, d_PIT_survey_CHRC,
d_PIT_survey_city_of_roanoke,
d_PIT_survey_FPGR, d_PIT_survey_RM,
d_PIT_survey_system, PIT_DV_Shelters) |>
mutate(unique_id = as.character(unique_id))|>
group_by(unique_id)|>
slice(1)|>
ungroup()
# Merge profile screen report data frames
d_profile_screen_all <- bind_rows(d_profile_screen_report_ARCH_families,
d_profile_screen_report_ARCH_vets,
d_profile_screen_report_CHRC,
d_profile_screen_report_FPGR,
d_profile_screen_report_RM_CWS,
d_profile_screen_report_RM_men,
d_profile_screen_report_RM_WCC)|>
mutate(unique_id = as.character(unique_id))|>
group_by(unique_id)|>
slice(1)|>
ungroup()
d_profile_screen_NOT_WCC <- bind_rows(d_profile_screen_report_ARCH_families,
d_profile_screen_report_ARCH_vets,
d_profile_screen_report_CHRC,
d_profile_screen_report_FPGR,
d_profile_screen_report_RM_CWS,
d_profile_screen_report_RM_men)|>
mutate(unique_id = as.character(unique_id))|>
group_by(unique_id)|>
slice(1)|>
ungroup()
d_WCC_semijoin <- semi_join(d_profile_screen_NOT_WCC,d_profile_screen_report_RM_WCC,
by = "unique_id") #3 clients with shelter services at WCC and CWS
# Merge APR report data frames
d_APR_all <- bind_rows(APR_ARCH_ES, APR_CHRC, APR_FPGR, APR_RM) |>
mutate(relationship = relationship_to_ho_h)|>
mutate(unique_id = as.character(unique_id))|>
group_by(unique_id)|>
slice(1)|>
ungroup()
# Join all three data frames
# first join the PIT survey & profile reports to get an accurate list of clients
d_both <- full_join(d_PIT_survey_all, d_profile_screen_all,
by = "unique_id")
# then join in the APR data columns
d_all <- left_join(d_both , d_APR_all,
by = "unique_id")|>
mutate(program_name = coalesce(program_name.x, program_name.y),
age = coalesce(age.x, age.y),
race = coalesce(race.x, race.y),
gender = coalesce(gender.x, gender.y))
d_example <- d_all |>
select(program_name, assessment_date, assessment_location, age)|>
as_tibble()
print(head(d_example))
## # A tibble: 6 x 4
## program_name assessment_date assessment_location age
## <chr> <chr> <chr> <dbl>
## 1 RM Men 01/26/2022 402 4th St SE, Roanoke, VA 24013 62
## 2 ARCH families 01/26/2022 404 Elm Ave SW, Roanoke, VA 24016 39
## 3 Family Promise 01/26/2022 37 E Clay St, Salem, VA 24153 31
## 4 RM WCC 01/26/2022 651 Montrose Ave SE, Roanoke, VA 24013 73
## 5 RM WCC 01/26/2022 410 4th St SE, Roanoke, VA 24013 37
## 6 ARCH families 01/26/2022 404 Elm Ave SW, Roanoke, VA 24016 59
library(tidyverse)
library(lubridate)
library(forcats)
d_all <- d_all |>
mutate(sheltered = case_when(program_name == "City of Roanoke" ~ "Unsheltered",
TRUE ~ "Sheltered"))|>
mutate(program = coalesce(program, program_name))|>
mutate(location_sleep = where_did_you_sleep_on_the_night_of_the_pit_count)|>
mutate(location_sleep = case_when(location_sleep == ", , WI" ~ "402 4th St SE, Roanoke, VA 24013",
location_sleep == ", Roanoke, VA" ~ "Roanoke, VA",
TRUE ~ (as.character(location_sleep))))|>
mutate(location_sleep_f = factor(location_sleep))|>
mutate(location_sleep_fc = fct_collapse(location_sleep_f,
"Rescue Mission" = c("402 4th St SE, Roanoke, VA 24013",
"404 Elm Ave SW, Roanoke, VA 24016",
"410 4th St SE, Roanoke, VA 24013",
"510 4th St SE, Roanoke, VA 24013"),
"Trust House" = "404 Elm Ave SW, Roanoke, VA 24016",
"The Least of These Ministry" = "422 Luck Ave SW, Roanoke, VA 24016",
"Unsheltered or Place Not Meant for Habitation" = c("Roanoke, VA",
"11th St NW, Roanoke, VA 24012",
"1219 Jamison Ave SE, Roanoke, VA 24013",
"1618 Wiley Dr SW, Roanoke, VA 24015",
"19th St SE, Roanoke, VA 24013",
"4th St SE, Roanoke, VA 24013",
"651 Montrose Ave SE, Roanoke, VA 24013"),
"Private Residence" = c("708 Conway St NE, Roanoke, VA 24012",
"710 Conway St NE, Roanoke, VA 24012")))|>
mutate(locality_other_f = factor(in_what_locality_if_other))|>
mutate(locality_other_fc = fct_collapse(locality_other_f,
"Other VA Locality" = c("Bristoll, VA",
"Charlottesville, VA",
"covington, va",
"Floyd County",
"Danville",
"Franklin County",
"Gretna, VA",
"King George County, VA",
"Newport News",
"lynchburg",
"Martinsville, Virginia",
"Montgomery County, VA",
"Norfolk, Virginia",
"Radford, Virginia",
"Richmond, VA",
"Rocky Mount",
"Suffolk, VA",
"Woodlawn",
"winchester, va"),
"NC, SC, or WV" = c("charlottt, nc", "kayhog NC",
"South Carolina", "Welch"),
"Other US Locality" = c("chicago, IL", "Galveston, TX",
"los angeles ca", "Minneapolis, MN",
"Minnesota", "New York", "Oakland, MD"
))) |>
mutate(age_f = case_when(age < 18 ~ "Under 18",
age >= 18 & age <= 24 ~ "18 - 24",
age > 24 ~ "Over 24",
TRUE ~ "Unknown")) |>
mutate(age_f = as_factor(age_f))|>
mutate(age_fc = fct_relevel(age_f, "Under 18", "18 - 24", "Over 24", "Unknown"))|>
mutate(youth_hh = case_when(youth_household_type == "Youth Household without children" ~ "Yes",
NA ~ "No",
TRUE ~ "No")) |>
mutate(mh_dx = case_when(mental_health_disorder == "Yes" |
mental_health_disorder_47 == "Yes" ~ "Yes",
TRUE ~ "No"))|>
mutate(alc_dx = case_when(substance_use_disorder == "Alcohol use disorder" |
substance_use_disorder_48 == "Alcohol use disorder" ~ "Yes",
TRUE ~ "No"))|>
mutate(drug_dx = case_when(substance_use_disorder == "Drug use disorder" |
substance_use_disorder_48 =="Drug use disorder" ~ "Yes",
TRUE ~ "No")) |>
mutate(both_dx = case_when(substance_use_disorder == "Both alcohol and drug use disorders" |
substance_use_disorder_48 == "Both alcohol and drug use disorders" ~ "Yes",
TRUE ~ "No")) |>
mutate(sud_dx =case_when(drug_dx == "Yes" | alc_dx == "Yes" |both_dx == "Yes" ~ "Yes",
TRUE ~ "No"))|>
mutate(dev_dx = case_when(developmental_disability == "Yes" |
developmental_disability_51 == "Yes" ~ "Yes",
TRUE ~ "No"))|>
mutate(hiv_dx = case_when(hiv_aids_50 == "Yes" | hiv_aids == "Yes" ~ "Yes",
TRUE ~ "No"))|>
mutate(chronic_dx = case_when (chronic_health_condition == "Yes" |
chronic_health_condition_49 == "Yes" ~ "Yes",
TRUE ~ "No"))|>
mutate(physical_dx = case_when(physical_disability == "Yes" |
physical_disability_52 == "Yes" ~ "Yes",
TRUE ~ "No"))|>
mutate(disabling_condition = case_when(mh_dx == "Yes"| alc_dx == "Yes" ~ "Yes",
drug_dx == "Yes" | both_dx == "Yes" ~ "Yes",
dev_dx == "Yes" | hiv_dx == "Yes" ~ "Yes",
chronic_dx == "Yes"| physical_dx == "Yes" ~ "Yes",
TRUE ~ "No"))|>
mutate(household_type = coalesce(household_type.x, household_type.y))|>
mutate(relationship = coalesce(relationship.x, relationship.y))|>
mutate(hoh_na = replace_na(household_type, "Unknown"))|>
mutate(relationship_new = case_when(hoh_na == "Unknown" & age < 18 ~ "Head of household’s child",
hoh_na == "Unknown" & age >= 18 ~ "Self (head of household)"))|>
mutate(relationship = (coalesce(relationship, relationship_new)))|>
mutate(hoh_type = case_when(relationship == "Head of household’s child" ~ "Not HoH",
household_type == "Without children" &
relationship == "Self (head of household)" ~ "HoH Without Children",
household_type == "With at least one adult and one child" &
relationship == "Self (head of household)" ~ "HoH With Adult(s) and Child(ren)",
household_type == "Without children" &
relationship == "Head of household's spouse or partner" ~ "Not HoH",
household_type == "With at least one adult and one child" &
relationship == "Head of household's spouse or partner" ~ "Not HoH",
household_type == "With at least one adult and one child" &
relationship == "Head of household’s child" ~ "Not HoH",
household_type == "Unknown" ~ "HoH Without Children",
TRUE ~ "HoH Without Children")) |>
mutate(hh_count = case_when(hoh_type == "HoH Without Children" |
hoh_type == "HoH With Adult(s) and Child(ren)" ~ 1,
hoh_type == "HoH With Only Children" ~ 1,
TRUE ~ 0))|>
mutate(vet_hh = case_when(veteran_status == "Yes" & hoh_type == "HoH Without Children" ~ "Vet HoH Without Children",
veteran_status == "Yes" & hoh_type == "HoH With Adult(s) and Child(ren)" ~ "Vet HoH With Children",
veteran_status == "No" ~ "Not Vet HH",
TRUE ~ "Not Vet HH"))|>
mutate(dv = case_when(victim_of_domestic_violence == "Yes" | dv_history == "Yes" ~ "Yes",
TRUE ~ "No"))|>
mutate(dv_na = replace_na (dv, "No")) |>
mutate(total_mo_hx_12 = case_when(total_months_homeless_in_the_past_three_years == "More than 12 Months" |
total_months_homeless_in_the_past_three_years == "Twelve Months"
~ "Yes",
TRUE ~ "No"))|>
mutate(approximate_date_homelessness_started = as.character(approximate_date_homelessness_started))|>
mutate(approx_date_mdy = mdy(approximate_date_homelessness_started),
approx_date_ymd = ymd (approximate_date_homelessness_started))|>
mutate(approx_date = coalesce(approx_date_mdy,
approx_date_ymd))|>
mutate(today = today())|>
mutate(interval_obj = interval(approx_date, today)) |>
mutate(approx_months_hx = time_length(interval_obj, unit = "month"))|>
mutate(chronic_hx = case_when(total_mo_hx_12 == "Yes" & disabling_condition == "Yes" &
hh_count == 1 ~ "Yes",
chronically_homeless_status == "Chronically_Homeless" ~ "Yes",
TRUE ~ "No")) |>
mutate(unacc_youth = case_when(age <= 24 & hh_count == 1 ~ "Yes",
TRUE ~ "No"))
d_clean <- d_all|>
select(age, age_f, location_sleep, location_sleep_fc, approximate_date_homelessness_started, approx_months_hx,
household_type, relationship, hoh_type)|>
as_tibble()
print(head(d_clean))
## # A tibble: 6 x 9
## age age_f location_sleep location_sleep_~ approximate_dat~ approx_months_hx
## <dbl> <fct> <chr> <fct> <chr> <dbl>
## 1 62 Over ~ 402 4th St SE~ Rescue Mission 08/21/2021 8.37
## 2 39 Over ~ 404 Elm Ave S~ Trust House 10/26/2021 6.2
## 3 31 Over ~ 708 Conway St~ Private Residen~ 10/09/2021 6.77
## 4 73 Over ~ 651 Montrose ~ Unsheltered or ~ 06/11/2020 22.7
## 5 37 Over ~ 410 4th St SE~ Rescue Mission 11/21/2021 5.37
## 6 59 Over ~ 404 Elm Ave S~ Trust House 12/14/2021 4.6
## # ... with 3 more variables: household_type <chr>, relationship <chr>,
## # hoh_type <chr>
These tables were designed to follow the format used by HUD. ## PIT Count By CoC Program
library(gtsummary)
library(writexl)
# Demographics by Program
#City of Roanoke / Unsheltered
d_sum_program_unsheltered <- d_all|>
select(hh_count, age_fc, gender, ethnicity, race,
chronic_hx, veteran_status, program_name, sheltered )|>
filter(program_name == "City of Roanoke")|>
tbl_summary(
statistic = all_categorical() ~ "{n}",
sort = list(c(gender, ethnicity, race, chronic_hx, veteran_status, hh_count ) ~ "frequency"),
label = list(hh_count ~ "Total Number of Households",
age_fc ~ "Age Categories",
race ~ "Race",
ethnicity ~ "Ethnicity",
gender ~ "Gender",
veteran_status ~ "Veteran Status",
chronic_hx ~ "Chronically Homeless")
)|>
bold_labels()|>
modify_caption("**All Households - Unsheltered** (N = {N})")|>
modify_header(label ~ "**Total Number of Persons (Adults and Children)**")
d_sum_program_unsheltered
| Total Number of Persons (Adults and Children) | N = 201 |
|---|---|
| Total Number of Households | 20 |
| Age Categories | |
| Under 18 | 0 |
| 18 - 24 | 1 |
| Over 24 | 19 |
| Unknown | 0 |
| Gender | |
| Male | 14 |
| Female | 6 |
| Ethnicity | 0 |
| Unknown | 20 |
| Race | |
| White | 13 |
| Black, African American, or African | 6 |
| American Indian, Alaska Native, or Indigenous | 1 |
| Chronically Homeless | 11 |
| Veteran Status | |
| No | 2 |
| Unknown | 18 |
| program_name | |
| City of Roanoke | 20 |
| sheltered | |
| Unsheltered | 20 |
|
1
n
|
|
# All other programs / Sheltered
d_sum_program_sheltered <- d_all|>
select(hh_count, age_fc, gender, ethnicity, race,
chronic_hx, veteran_status, program_name, program )|>
filter(program_name != "City of Roanoke")|>
tbl_summary(
by = program_name,
statistic = all_categorical() ~ "{n}",
sort = list(c(gender, ethnicity, race, chronic_hx, veteran_status, hh_count ) ~ "frequency"),
label = list(hh_count ~ "Total Number of Households",
age_fc ~ "Age Categories",
race ~ "Race",
ethnicity ~ "Ethnicity",
gender ~ "Gender",
veteran_status ~ "Veteran Status",
chronic_hx ~ "Chronically Homeless")
)|>
bold_labels()|>
modify_caption("**All Households - Unsheltered** (N = {N})")|>
modify_header(label ~ "**Total Number of Persons (Adults and Children)**")
d_sum_program_sheltered
| Total Number of Persons (Adults and Children) | ARCH families, N = 91 | ARCH veterans, N = 91 | CHRC, N = 191 | Family Promise, N = 81 | RM CWS, N = 431 | RM Men, N = 211 | RM WCC, N = 531 | Safehomes, N = 11 | Salvation Army, N = 41 |
|---|---|---|---|---|---|---|---|---|---|
| Total Number of Households | 9 | 9 | 19 | 3 | 43 | 21 | 47 | 1 | 4 |
| Age Categories | |||||||||
| Under 18 | 0 | 0 | 0 | 5 | 0 | 0 | 6 | 0 | 0 |
| 18 - 24 | 0 | 0 | 1 | 0 | 1 | 0 | 5 | 0 | 0 |
| Over 24 | 9 | 9 | 18 | 3 | 42 | 21 | 42 | 0 | 0 |
| Unknown | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 4 |
| Gender | |||||||||
| Male | 4 | 9 | 13 | 5 | 38 | 21 | 6 | 0 | 0 |
| Female | 4 | 0 | 6 | 3 | 4 | 0 | 47 | 1 | 4 |
| Transgender | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| Ethnicity | |||||||||
| Non-Hispanic/Non-Latin(a)(o)(x) | 8 | 9 | 19 | 8 | 15 | 20 | 26 | 0 | 0 |
| Data not collected | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Unknown | 0 | 0 | 0 | 0 | 28 | 1 | 27 | 1 | 4 |
| Race | |||||||||
| White | 6 | 5 | 16 | 0 | 20 | 13 | 33 | 1 | 3 |
| Black, African American, or African | 2 | 4 | 2 | 3 | 20 | 8 | 17 | 0 | 0 |
| Asian or Asian American | 1 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 0 |
| Multiple races | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 0 |
| Data not collected | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
| Black or African-American | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| Client Doesn't know / Refused | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| Chronically Homeless | 5 | 3 | 0 | 0 | 2 | 4 | 11 | 0 | 0 |
| Veteran Status | |||||||||
| No | 9 | 0 | 19 | 4 | 36 | 20 | 49 | 0 | 0 |
| Yes | 0 | 9 | 0 | 0 | 5 | 1 | 2 | 0 | 0 |
| Data not collected | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 |
| Unknown | 0 | 0 | 0 | 4 | 0 | 0 | 2 | 1 | 4 |
| program | |||||||||
| ARCH - ES - Families and Single Women | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| ARCH - ES - Veteran Housing (Contract) | 0 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| CHRC - DHCD - CHERP - COVID Quarantine Hotel | 0 | 0 | 19 | 0 | 0 | 0 | 1 | 0 | 0 |
| Family Promise - Housing for Families with Children (FPGR) | 0 | 0 | 0 | 8 | 0 | 0 | 0 | 0 | 0 |
| RM CWS | 0 | 0 | 0 | 0 | 28 | 0 | 0 | 0 | 0 |
| RM Men | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| RM WCC | 0 | 0 | 0 | 0 | 0 | 0 | 27 | 0 | 0 |
| Roanoke Rescue Mission - Cold Weather Shelter | 0 | 0 | 0 | 0 | 7 | 0 | 0 | 0 | 0 |
| Roanoke Rescue Mission - Men's Shelter | 0 | 0 | 0 | 0 | 7 | 20 | 0 | 0 | 0 |
| Roanoke Rescue Mission - WCC | 0 | 0 | 0 | 0 | 1 | 0 | 25 | 0 | 0 |
| Safehomes | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| Salvation Army | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 |
|
1
n
|
|||||||||
# Overall Demographics
d_sum_demo <- d_all |>
select(hh_count, sheltered, age_fc, gender, ethnicity, race, chronic_hx, veteran_status)|>
tbl_summary(
by = sheltered,
statistic = hh_count ~ "{n}",
sort = list(c(gender, ethnicity, race, chronic_hx, veteran_status, hh_count ) ~ "frequency"),
label = list(hh_count ~ "Total Number of Households",
age_fc ~ "Age Categories",
race ~ "Race",
ethnicity ~ "Ethnicity",
gender ~ "Gender",
veteran_status ~ "Veteran Status",
chronic_hx ~ "Chronically Homeless")
)|>
bold_labels()|>
modify_caption("**All Households - Demographics** (N = {N})")|>
modify_header(label ~ "**Total Number of Persons (Adults and Children)**")
d_sum_demo
| Total Number of Persons (Adults and Children) | Sheltered, N = 1821 | Unsheltered, N = 201 |
|---|---|---|
| Total Number of Households | 171 | 20 |
| Age Categories | ||
| Under 18 | 11 (6.0%) | 0 (0%) |
| 18 - 24 | 7 (3.8%) | 1 (5.0%) |
| Over 24 | 159 (87%) | 19 (95%) |
| Unknown | 5 (2.7%) | 0 (0%) |
| Gender | ||
| Male | 111 (61%) | 14 (70%) |
| Female | 69 (38%) | 6 (30%) |
| Transgender | 2 (1.1%) | 0 (0%) |
| Ethnicity | ||
| Non-Hispanic/Non-Latin(a)(o)(x) | 105 (99%) | 0 (NA%) |
| Data not collected | 1 (0.9%) | 0 (NA%) |
| Unknown | 76 | 20 |
| Race | ||
| White | 108 (59%) | 13 (65%) |
| Black, African American, or African | 60 (33%) | 6 (30%) |
| Asian or Asian American | 6 (3.3%) | 0 (0%) |
| Multiple races | 4 (2.2%) | 0 (0%) |
| Data not collected | 2 (1.1%) | 0 (0%) |
| American Indian, Alaska Native, or Indigenous | 0 (0%) | 1 (5.0%) |
| Black or African-American | 1 (0.5%) | 0 (0%) |
| Client Doesn't know / Refused | 1 (0.5%) | 0 (0%) |
| Chronically Homeless | 32 (18%) | 11 (55%) |
| Veteran Status | ||
| No | 137 (88%) | 2 (100%) |
| Yes | 17 (11%) | 0 (0%) |
| Data not collected | 2 (1.3%) | 0 (0%) |
| Unknown | 26 | 18 |
|
1
n; n (%)
|
||
# Households with adults and children
d_sum_hh_adult_and_child <- d_all |>
select(hh_count, sheltered, age_fc, gender, ethnicity, race, chronic_hx, veteran_status, hoh_type, household_type)|>
filter(household_type == "With at least one adult and one child")|>
tbl_summary(
by = sheltered,
statistic = all_categorical() ~ "{n}",
sort = list(c(gender, ethnicity, race, chronic_hx, veteran_status, hh_count ) ~ "frequency"),
label = list(hh_count ~ "Total Number of Households With Adults and Children",
age_fc ~ "Age Categories",
race ~ "Race",
ethnicity ~ "Ethnicity",
gender ~ "Gender",
veteran_status ~ "Veteran Status",
chronic_hx ~ "Chronically Homeless")
)|>
bold_labels()|>
modify_caption("**Homeless Population** (N = {N})")|>
modify_header(label ~ " ")
d_sum_hh_adult_and_child
| Sheltered, N = 111 | |
|---|---|
| Total Number of Households With Adults and Children | 5 |
| Age Categories | |
| Under 18 | 6 |
| 18 - 24 | 1 |
| Over 24 | 4 |
| Unknown | 0 |
| Gender | |
| Male | 6 |
| Female | 5 |
| Ethnicity | |
| Non-Hispanic/Non-Latin(a)(o)(x) | 11 |
| Race | |
| Black, African American, or African | 6 |
| Asian or Asian American | 5 |
| Chronically Homeless | |
| No | 11 |
| Veteran Status | |
| No | 7 |
| Unknown | 4 |
| hoh_type | |
| HoH With Adult(s) and Child(ren) | 4 |
| HoH Without Children | 1 |
| Not HoH | 6 |
| household_type | |
| With at least one adult and one child | 11 |
|
1
n
|
|
# Households without children
d_sum_hh_without_children <- d_all |>
select(hh_count, sheltered, age_fc, gender, ethnicity, race, chronic_hx, veteran_status, hoh_type, household_type)|>
filter(household_type == "Without children")|>
tbl_summary(
by = sheltered,
statistic = all_categorical() ~ "{n}",
sort = list(c(gender, ethnicity, race, chronic_hx, veteran_status, hh_count ) ~ "frequency"),
label = list(hh_count ~ "Total Number of Households Without Children",
age_fc ~ "Age Categories",
race ~ "Race",
ethnicity ~ "Ethnicity",
gender ~ "Gender",
veteran_status ~ "Veteran Status",
chronic_hx ~ "Chronically Homeless")
)|>
bold_labels()|>
modify_caption("**Homeless Population** (N = {N})")|>
modify_header(label ~ " ")
d_sum_hh_without_children
| Sheltered, N = 941 | |
|---|---|
| Total Number of Households Without Children | 94 |
| Age Categories | |
| Under 18 | 0 |
| 18 - 24 | 2 |
| Over 24 | 92 |
| Unknown | 0 |
| Gender | |
| Male | 58 |
| Female | 35 |
| Transgender | 1 |
| Ethnicity | |
| Non-Hispanic/Non-Latin(a)(o)(x) | 93 |
| Data not collected | 1 |
| Race | |
| White | 61 |
| Black, African American, or African | 28 |
| Multiple races | 3 |
| Asian or Asian American | 1 |
| Client Doesn't know / Refused | 1 |
| Chronically Homeless | 19 |
| Veteran Status | |
| No | 81 |
| Yes | 12 |
| Data not collected | 1 |
| hoh_type | |
| HoH Without Children | 94 |
| household_type | |
| Without children | 94 |
|
1
n
|
|
# Veteran Households
d_sum_vet_hh <- d_all |>
select(hh_count, sheltered, gender, ethnicity, race, chronic_hx, veteran_status)|>
filter(veteran_status == "Yes")|>
tbl_summary(
by = sheltered,
statistic = all_categorical() ~ "{n}",
sort = list(c(hh_count, gender, ethnicity, race, chronic_hx ) ~ "frequency"),
label = list(hh_count ~ "Total Number of Veteran Households",
race ~ "Race",
ethnicity ~ "Ethnicity",
gender ~ "Gender",
chronic_hx ~ "Chronically Homeless")
)|>
bold_labels()|>
modify_header(label ~ "**Total Number of Persons (Adults and Children)**")
d_sum_vet_hh
| Total Number of Persons (Adults and Children) | Sheltered, N = 171 |
|---|---|
| Total Number of Veteran Households | 17 |
| Gender | |
| Male | 15 |
| Female | 2 |
| Ethnicity | |
| Non-Hispanic/Non-Latin(a)(o)(x) | 12 |
| Unknown | 5 |
| Race | |
| White | 11 |
| Black, African American, or African | 4 |
| Client Doesn't know / Refused | 1 |
| Multiple races | 1 |
| Chronically Homeless | 4 |
| veteran_status | |
| Yes | 17 |
|
1
n
|
|
# Unaccompanied Youth
d_sum_unacc_youth <- d_all|>
select(hh_count, sheltered, age_fc, gender, ethnicity, race, chronic_hx, veteran_status, unacc_youth)|>
filter(unacc_youth == "Yes")|>
tbl_summary(
by = sheltered,
statistic = all_categorical() ~ "{n}",
sort = list(c(gender, ethnicity, race, chronic_hx, veteran_status, hh_count ) ~ "frequency"),
label = list(hh_count ~ "Total Number of Households",
age_fc ~ "Age Categories",
race ~ "Race",
ethnicity ~ "Ethnicity",
gender ~ "Gender",
veteran_status ~ "Veteran Status",
chronic_hx ~ "Chronically Homeless")
)|>
bold_labels()|>
modify_caption("**Unaccompanied Youth**")|>
modify_header(label ~ "**Total Number of Persons**")
d_sum_unacc_youth
| Total Number of Persons | Sheltered, N = 71 | Unsheltered, N = 11 |
|---|---|---|
| Total Number of Households | 7 | 1 |
| Age Categories | ||
| Under 18 | 0 | 0 |
| 18 - 24 | 7 | 1 |
| Over 24 | 0 | 0 |
| Unknown | 0 | 0 |
| Gender | ||
| Female | 4 | 0 |
| Male | 3 | 1 |
| Ethnicity | ||
| Non-Hispanic/Non-Latin(a)(o)(x) | 3 | 0 |
| Unknown | 4 | 1 |
| Race | ||
| Black, African American, or African | 4 | 1 |
| White | 3 | 0 |
| Chronically Homeless | 1 | 0 |
| Veteran Status | ||
| No | 7 | 0 |
| Unknown | 0 | 1 |
| unacc_youth | ||
| Yes | 7 | 1 |
|
1
n
|
||
# Subpopulations
d_sum_subpop <- d_all |>
select(sheltered, mh_dx, sud_dx, hiv_dx, dv)|>
tbl_summary(
by = sheltered,
sort = all_categorical() ~ "frequency",
label = list(mh_dx ~ "Mental Health Disorder",
hiv_dx ~ "HIV/AIDS",
sud_dx ~ "Substance Use Disorder",
dv ~ "Victims of Domestic Violence")
)|>
bold_labels()|>
modify_caption("**Homeless Subpopulations**")|>
modify_header(label ~ "**Total Number of Persons (Adults and Children)**")
d_sum_subpop
| Total Number of Persons (Adults and Children) | Sheltered, N = 1821 | Unsheltered, N = 201 |
|---|---|---|
| Mental Health Disorder | 58 (32%) | 14 (70%) |
| Substance Use Disorder | 27 (15%) | 7 (35%) |
| HIV/AIDS | 1 (0.5%) | 1 (5.0%) |
| Victims of Domestic Violence | 38 (21%) | 8 (40%) |
|
1
n (%)
|
||