Read ASHA Baseline Data
census_data <- read_csv(here("data", "Screening_Database.csv"))
## Rows: 1071 Columns: 69
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (45): dataid, fra, union, vill, landmark, hh_name, group, respondent, b...
## dbl (19): screening_id, b1, mobile, b7, b8, b10a, b10b, b11, b15, b16, c4, ...
## lgl (2): b6_oth, b14oth
## dttm (2): completed_time, started_time
## date (1): date
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
demo_anthr_data <- read.csv(here("data", "Demographic_Health_Anthro_baseline.csv"))
module3 <- read.csv(here("data", "Module3_Economic_vulnerability_baseline.csv"))
Table 01: Number of Loan distribution by Study Group
module3$benifi <- factor(module3$benifi, levels = c(0, 1), labels = c("ASHA", "Shapno"))
loan_distribution <- module3 %>%
group_by(benifi) %>%
summarise(
total_N = n(),
n = sum(!is.na(sd03) & sd03>0),
Percentage = round((n /total_N) * 100,1), # Calculate percentage
Mean = round(mean(sd03, na.rm = TRUE),1),
Median = round(median(sd03, na.rm = TRUE),1),
SD = round(sd(sd03, na.rm = TRUE),1),
Min = min(sd03, na.rm = TRUE),
Max = max(sd03, na.rm = TRUE),
.groups = "drop"
)
loan_distribution %>%
kable("html", col.names = c("Study Group", "Total N", "Group n", "Percentage",
"Mean", "Median", "SD", "Min", "Max")) %>%
kable_styling(full_width = FALSE, position = "center")
|
Study Group
|
Total N
|
Group n
|
Percentage
|
Mean
|
Median
|
SD
|
Min
|
Max
|
|
ASHA
|
194
|
171
|
88.1
|
2
|
2.0
|
1.6
|
0
|
12
|
|
Shapno
|
120
|
106
|
88.3
|
2
|
1.5
|
2.2
|
0
|
19
|
Table 02: Loan status summarie by Study Group
tloan <- module3 %>% select(dataid, member_17above, sd03, sd04_10, sd04_11, sd04_12, sd04_13, sd04_14,
sd04_15, sd04_16, sd04_17, sd04_18, sd04_19, sd04_110, sd04_111,
sd04_112, sd04_113, sd04_114, sd04_115, sd04_116, sd04_117, sd04_118,
sd04_119, benifi)
tloan$sumloan <- rowSums(tloan[,c("sd04_10", "sd04_11", "sd04_12", "sd04_13", "sd04_14", "sd04_15", "sd04_16", "sd04_17", "sd04_18", "sd04_19", "sd04_110", "sd04_111", "sd04_112", "sd04_113", "sd04_114", "sd04_115","sd04_116", "sd04_117", "sd04_118", "sd04_119")], na.rm = T)
loan_mean <- tloan %>%
filter(sd03>0) %>%
group_by(benifi) %>%
summarise(N = n(),
avegloan = mean(sumloan, na.rm = T),
medianlo = median(sumloan, na.rm = T),
sdtloan = sd(sumloan, na.rm = T),
Min = min(sumloan, na.rm = TRUE),
Max = max(sumloan, na.rm = TRUE),
.groups = "drop")
kable(loan_mean, format = "html", col.names = c("Group", "N", "Avearage Loan", "Median", "Sd", "Min", "Max")) %>%
kable_styling(full_width = FALSE, position = "center")
|
Group
|
N
|
Avearage Loan
|
Median
|
Sd
|
Min
|
Max
|
|
ASHA
|
171
|
64862.94
|
50000
|
51155.47
|
1000
|
356913
|
|
Shapno
|
106
|
70194.34
|
50000
|
92477.71
|
2500
|
824000
|
ggplot(tloan, aes(x = sd03, fill = benifi)) +
facet_wrap(~ benifi) +
geom_histogram(alpha = 0.9, position = "identity", bins = 20) +
scale_fill_manual(values = c("ASHA" = "blue", "Shapno" = "orange")) +
labs(
title = "Number loan distribution by Group",
x = "Number of Loan",
y = "Frequency",
fill = "Group Label") +
theme_minimal()

ggplot(tloan, aes(x = sd03)) +
geom_histogram(bins = 20, fill = "skyblue", color = "black") +
# facet_grid(benifi ~ .) + # Arrange in rows by group
labs(title = "Overall number of loan distribution", x = "Number of Loan", y = "Frequency") +
theme_minimal()
# Table 03: Average Loan distribution by Family member and Study
Group
tloan <- tloan %>%
mutate(member_g = case_when(
member_17above %in% c(1, 2) ~ 1,
member_17above %in% c(3, 4) ~ 2,
member_17above %in% c(5, 6) ~ 3,
TRUE ~ NA_real_ # Default case for all other values
))
tloan$member_g <- factor(tloan$member_g, levels = c(1, 2, 3, 4), labels = c("Member 1-2", "Member 3-4", "Member 5-6", "Member 7-8"))
loan_mem <- tloan %>%
filter(sd03>0) %>%
group_by(benifi, member_g) %>%
summarise(N =n(),
avegloan = mean(sumloan, na.rm = T),
medianlo = median(sumloan, na.rm = T),
.groups = "drop")
# Reshape the data to a wide format for side-by-side comparison
loan_mem_wide <- loan_mem %>%
pivot_wider(
names_from = benifi,
values_from = c(N, avegloan, medianlo),
names_sep = "_"
)
kable(loan_mem_wide,
format = "html",
col.names = c(
"family_member",
"N (ASHA)", "N (Shapno)", "Avg Loan (ASHA)", "Avg Loan (Shapno)", "Median (ASHA)", "Median (Shapno)"
)
) %>%
kable_styling(full_width = FALSE, position = "center")
|
family_member
|
N (ASHA)
|
N (Shapno)
|
Avg Loan (ASHA)
|
Avg Loan (Shapno)
|
Median (ASHA)
|
Median (Shapno)
|
|
Member 1-2
|
110
|
66
|
64923.30
|
70160.61
|
50000
|
50000
|
|
Member 3-4
|
55
|
37
|
67236.36
|
71081.08
|
64000
|
50000
|
|
Member 5-6
|
6
|
3
|
42000.00
|
60000.00
|
40000
|
25000
|
ggplot(loan_mem, aes(x = member_g, y = avegloan, fill = benifi)) +
geom_bar(stat = "identity", position = position_dodge(), color = "black") +
labs(
title = "Average Loan Amount by Adult Family member and Study Group",
x = "Family Group (adult member 17+)",
y = "Average Loan Amount",
fill = "Study Group"
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))

ggplot(loan_mem, aes(x = member_g, y = medianlo, fill = benifi)) +
geom_bar(stat = "identity", position = position_dodge(), color = "black") +
labs(
title = "Median Loan Amount by Family Group and Study Group",
x = "Family Group (adult member 17+)",
y = "Average Loan Amount",
fill = "Study Group"
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
