NDMA Data Pre processing

The following are steps undertaken for deidentifying NDMA data. The data is dis aggregated per county for all 23 counties - ASAL. The information covers the years of 2000 - 2020, where data prior to 2016 was stored in a different database (REWAS) and data from 2016 henceforth in the new database (DEWS). In each county data set workbook there are 6 different sheets:

HHA REWAS, HHA DEWS, KIA REWAS, KIA DEWS, MUAC REWAS, MUAC DEWS

The process involves inspecting individual sheets for each data set, dropping P.I.I columns, and then writing all the sheets to a single workbook - Kitui.

KITUI

1. HHA REWAS

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.2
library(geosphere)
## Warning: package 'geosphere' was built under R version 4.3.3
## The legacy packages maptools, rgdal, and rgeos, underpinning the sp package,
## which was just loaded, will retire in October 2023.
## Please refer to R-spatial evolution reports for details, especially
## https://r-spatial.org/r/2023/05/15/evolution4.html.
## It may be desirable to make the sf package available;
## package maintainers should consider adding sf to Suggests:.
## The sp package is now running under evolution status 2
##      (status 2 uses the sf package in place of rgdal)
library(openxlsx)
## Warning: package 'openxlsx' was built under R version 4.3.3
file_path <- "C:/Users/AAH USER/Downloads/Kitui.xlsx"

# Read the specific sheet into a data frame
hha_rewas_data <- read.xlsx(file_path, sheet = "HHA REWAS")

This data set has P.I.I’s in the “housename” column so we will drop that.

# Drop the specified PII columns 
hha_rewas_data <- hha_rewas_data %>%
  select(-housename)  

# Check the updated dataset
head(hha_rewas_data)
##   district_name divisioncode year    month purchamt_bean soldamt_bean
## 1         KITUI          121 2008 December             0            0
## 2         KITUI          122 2008     June             0            0
## 3         KITUI          118 2008     June             0            0
## 4         KITUI          118 2008     June             0            0
## 5         KITUI          117 2008     June             0            0
## 6         KITUI          117 2008     June             0            0
##   purchamt_oil purchamt_cowpea soldamt_cowpea purchamt_greengram
## 1            0               0              0                  0
## 2            0               0              0                  0
## 3            0               0              0                  0
## 4            0               0              0                  0
## 5            0               0              0                  0
## 6            0               0              0                  0
##   soldamt_greengram purchamt_milk soldamt_milk purchamt_millet soldamt_millet
## 1                 0             0            0               0              0
## 2                 0             0            0               0              0
## 3                 0             0            0               0              0
## 4                 0             0            0               0              0
## 5                 0             0            0               0              0
## 6                 0             0            0               0              0
##   purchamt_other soldamt_other purchamt_pigeon soldamt_pigeon purchamt_posho
## 1              0             0               0              0              0
## 2              0             0               0              0              0
## 3              0             0               0              0              0
## 4              0             0               0              0              0
## 5              0             0               0              0              0
## 6              0             0               0              0              0
##   purchamt_rice purchamt_siftmaize purchamt_sorg soldamt_sorg purchamt_sugar
## 1             0                  0             0            0              0
## 2             0                  0             0            0              0
## 3             0                  0             0            0              0
## 4             0                  0             0            0              0
## 5             0                  0             0            0              0
## 6             0                  0             0            0              0
##   purchamt_wheat purchamt_wholemaize soldamt_wholemaize inc_dailyrate app_cam
## 1              0                   0                  0            NA      NA
## 2              0                   0                  0           150      NA
## 3              0                   0                  0           100      NA
## 4              0                   0                  0           200      NA
## 5              0                   0                  0            NA      NA
## 6              0                   0                  0            50      NA
##   born_cam death_cam deathreason_cam slaughtreason_cam slaught_cam sold_cam
## 1        0         0            <NA>                NA           0        0
## 2        0         0            <NA>                NA           0        0
## 3        0         0            <NA>                NA           0        0
## 4        0         0            <NA>                NA           0        0
## 5        0         0            <NA>                NA           0        0
## 6        0         0            <NA>                NA           0        0
##   total_cam app_cat born_cat death_cat deathreason_cat slaughtreason_cat
## 1         0      NA        0         0            <NA>                NA
## 2         0      NA        0         0            <NA>                NA
## 3         0      NA        0         0            <NA>                NA
## 4         0      NA        0         0            <NA>                NA
## 5         0      NA        0         0            <NA>                NA
## 6         0      NA        0         0            <NA>                NA
##   slaught_cat sold_cat total_cat app_don born_don death_don deathreason_don
## 1           0        0         0      NA        0         0            <NA>
## 2           0        0         0      NA        0         0            <NA>
## 3           0        0         0      NA        0         0            <NA>
## 4           0        0         4      NA        0         0            <NA>
## 5           0        0         4      NA        0         0            <NA>
## 6           0        0         2      NA        0         0            <NA>
##   sold_don total_don app_goa born_goa death_goa deathreason_goa
## 1        0         0      NA        0         0            <NA>
## 2        0        24      NA        0         0            <NA>
## 3        0         0      NA        0         0            <NA>
## 4        0         1      NA        0         0            <NA>
## 5        0         1    1800        2         0            <NA>
## 6        0         1      NA        1         0            <NA>
##   slaughtreason_goa slaught_goa sold_goa total_goa hhaid survf_borrowfood
## 1              <NA>           0        0         5  3164             <NA>
## 2              <NA>           0        0         7  2673             <NA>
## 3              <NA>           0        0         0  2727             <NA>
## 4              <NA>           0        0         3  2787             <NA>
## 5              <NA>           0        3        15  2958             <NA>
## 6              <NA>           0        0        10  2937             <NA>
##   aid_cfw child_schooldrop aid_ffw aidkg_ffw surv_migrate aid_gift hvst_cereal
## 1      no               no      no         0           no       no          no
## 2      no               no      no         0           no       no          no
## 3      no               no      no         0           no       no          no
## 4      no               no      no         0           no       no          no
## 5      no               no      no         0           no       no          no
## 6      no               no      no         0           no       no          no
##   hvst_legume hh_totalmembers survf_lesspreffood survf_limitportion
## 1          no               5               <NA>               <NA>
## 2          no               5               <NA>               <NA>
## 3          no               3               <NA>               <NA>
## 4          no              13               <NA>               <NA>
## 5          no              11               <NA>               <NA>
## 6          no               8               <NA>               <NA>
##   survf_skipmeal survdesc_other surv_other hh_ownslivestock survf_foodcredit
## 1           <NA>           <NA>         no              yes             <NA>
## 2           <NA>           <NA>         no              yes             <NA>
## 3           <NA>           <NA>         no               no             <NA>
## 4           <NA>           <NA>         no              yes             <NA>
## 5           <NA>           <NA>         no              yes             <NA>
## 6           <NA>           <NA>         no              yes             <NA>
##   purch_foodstuff inc_remittance survf_reducemeals aid_food aidkg_food
## 1              no             no              <NA>       no          0
## 2              no             no              <NA>       no          0
## 3              no             no              <NA>       no          0
## 4              no             no              <NA>       no          0
## 5              no             no              <NA>       no          0
## 6              no             no              <NA>       no          0
##   aid_remittance surv_sellbreedingstock surv_selldraught surv_selltools
## 1             no                     no               no             no
## 2             no                     no               no             no
## 3             no                     no               no             no
## 4             no                     no               no             no
## 5             no                     no               no             no
## 6             no                     no               no             no
##   surv_sellvaluables surv_sellmilkanimal sold_foodstuff stock_cereal
## 1                  2                  no             no           no
## 2                  2                  no             no           no
## 3                  2                  no             no           no
## 4                  2                  no             no           no
## 5                  2                  no             no           no
## 6                  2                  no             no           no
##   stock_legume aid_suppfood aidkg_suppfood stockexp_cereal stockexp_legume
## 1           no           no              0               0               0
## 2           no           no              0               0               0
## 3           no           no              0               0               0
## 4           no           no              0               0               0
## 5           no           no              0               0               0
## 6           no           no              0               0               0
##   inc_relynormalsource item ldisease_cbpp ldisease_ccpp ldisease_diarrhea
## 1                  yes 3164            no            no              <NA>
## 2                   no 2673            no            no              <NA>
## 3                  yes 2727            no            no              <NA>
## 4                   no 2787            no            no              <NA>
## 5                   no 2958            no            no              <NA>
## 6                  yes 2937            no            no              <NA>
##   ldisease_other ldisease_ecfever ldisease_fmd ldisease_lumpy ldisease_ncastle
## 1             no               no           no             no               no
## 2             no               no           no             no               no
## 3             no               no           no             no               no
## 4             no               no           no             no               no
## 5             no               no           no             no               no
## 6             no               no           no             no               no
##   vacc_anthrax vacc_cbpp vacc_ccpp vacc_diarrhea vacc_fmd vacc_lumpy
## 1           no        no        no            no       no          2
## 2           no        no        no            no       no          2
## 3           no        no        no            no       no          2
## 4           no        no        no            no       no          2
## 5           no        no        no            no       no          2
## 6           no        no        no            no       no          2
##   vacc_ncastle vacc_other vacc_worms          inc_currentsource milksold_cat
## 1           no         no         no                Remittances            0
## 2           no         no         no               Casual Labor            0
## 3           no         no         no               Casual Labor            0
## 4           no         no         no Sale of Livestock Products            0
## 5           no         no         no          Sale of Livestock            0
## 6           no         no         no                Remittances            0
##   milksold_goa milksold_cam total_milkcam total_milkcat total_milkgoa
## 1            0            0             0             0             0
## 2            0            0             0             0             0
## 3            0            0             0             0             0
## 4            0            0             0             0             0
## 5            0            0             0             0             0
## 6            0            0             0             0             0
##   total_milkshe milkdaily_cam milkdaily_cat milkdaily_goa milkdaily_she
## 1             0             0             0             0             0
## 2             0             0             0             0             0
## 3             0             0             0             0             0
## 4             0             0             0             0             0
## 5             0             0             0             0             0
## 6             0             0             0             0             0
##   milksold_she inc_emplcasualwork inc_seekcasualwork inc_normalsource
## 1            0                  0                  0             <NA>
## 2            0                  1                  0             <NA>
## 3            0                  1                  0             <NA>
## 4            0                  2                  0             <NA>
## 5            0                  0                  0             <NA>
## 6            0                  1                  0             <NA>
##   pest_otherdesc inc_otherdesc pest app_pou death_pou deathreason_pou
## 1           <NA>          <NA>    0      NA         0            <NA>
## 2           <NA>          <NA>    0      NA         0            <NA>
## 3           <NA>          <NA>    0      NA         0            <NA>
## 4           <NA>          <NA>    0      NA         0            <NA>
## 5           <NA>          <NA>    0      NA         0            <NA>
## 6           <NA>          <NA>    0      NA         1           Other
##   slaughtreason_pou slaught_pou sold_pou total_pou ppkpurch_bean ppksold_bean
## 1              <NA>           0        0         0            NA           NA
## 2              <NA>           0        0         0            NA           NA
## 3              <NA>           0        0         0            NA           NA
## 4              <NA>           0        0         0            NA           NA
## 5              <NA>           0        0         0            NA           NA
## 6              <NA>           0        0        10            NA           NA
##   ppkpurch_oil ppkpurch_cowpea ppksold_cowpea ppkpurch_greengram
## 1           NA              NA             NA                 NA
## 2           NA              NA             NA                 NA
## 3           NA              NA             NA                 NA
## 4           NA              NA             NA                 NA
## 5           NA              NA             NA                 NA
## 6           NA              NA             NA                 NA
##   ppksold_greengram pplpurch_milk pplsold_milk ppkpurch_millet ppksold_millet
## 1                NA            NA           NA              NA             NA
## 2                NA            NA           NA              NA             NA
## 3                NA            NA           NA              NA             NA
## 4                NA            NA           NA              NA             NA
## 5                NA            NA           NA              NA             NA
## 6                NA            NA           NA              NA             NA
##   ppurch_other psold_other ppkpurch_pigeon ppksold_pigeon ppkpurch_posho
## 1           NA          NA              NA             NA             NA
## 2           NA          NA              NA             NA             NA
## 3           NA          NA              NA             NA             NA
## 4           NA          NA              NA             NA             NA
## 5           NA          NA              NA             NA             NA
## 6           NA          NA              NA             NA             NA
##   ppkpurch_rice ppkpurch_siftmaize ppkpurch_sorg ppksold_sorg ppkpurch_sugar
## 1            NA                 NA            NA           NA             NA
## 2            NA                 NA            NA           NA             NA
## 3            NA                 NA            NA           NA             NA
## 4            NA                 NA            NA           NA             NA
## 5            NA                 NA            NA           NA             NA
## 6            NA                 NA            NA           NA             NA
##   ppkpurch_wheat ppkpurch_wholemaize ppksold_wholemaize qtymilkproduced sacode
## 1             NA                  NA                 NA               0    276
## 2             NA                  NA                 NA               0    273
## 3             NA                  NA                 NA               0    278
## 4             NA                  NA                 NA               0    277
## 5             NA                  NA                 NA               1    271
## 6             NA                  NA                 NA               0    272
##   app_she born_she death_she deathreason_she slaughtreason_she slaught_she
## 1      NA        0         0            <NA>              <NA>           0
## 2      NA        0         0            <NA>              <NA>           0
## 3      NA        0         0            <NA>              <NA>           0
## 4      NA        0         0            <NA>              <NA>           0
## 5      NA        0         0            <NA>              <NA>           0
## 6      NA        0         0            <NA>              <NA>           0
##   sold_she total_she tag whodrankmilk    wrhh age1 age2 age3 age4 age5 age6
## 1        0         0   1         <NA>  Middle   NA   NA   NA   NA   NA   NA
## 2        0         1   1         <NA>    Poor   NA   NA   NA   NA   NA   NA
## 3        0         0   1         <NA> Poorest   NA   NA   NA   NA   NA   NA
## 4        0         0   1         <NA>  Middle   NA   NA   NA   NA   NA   NA
## 5        0         0   1         <NA>    Poor   NA   NA   NA   NA   NA   NA
## 6        0         0   1         <NA>    Poor   NA   NA   NA   NA   NA   NA
##   soldamt_banana_old ppu_banana_old bled_cam bled_cat bled_goa bled_she
## 1                 NA             NA       NA       NA       NA       NA
## 2                 NA             NA       NA       NA       NA       NA
## 3                 NA             NA       NA       NA       NA       NA
## 4                 NA             NA       NA       NA       NA       NA
## 5                 NA             NA       NA       NA       NA       NA
## 6                 NA             NA       NA       NA       NA       NA
##   purch_cereals aid_cfw_old weather_old community csvname districtcode divname
## 1            NA          NA          NA        NA      NA           NA      NA
## 2            NA          NA          NA        NA      NA           NA      NA
## 3            NA          NA          NA        NA      NA           NA      NA
## 4            NA          NA          NA        NA      NA           NA      NA
## 5            NA          NA          NA        NA      NA           NA      NA
## 6            NA          NA          NA        NA      NA           NA      NA
##   fieldmonitorname aid_ffw_old aidkg_unimix child_unimix child_under5
## 1               NA          NA           NA           NA           NA
## 2               NA          NA           NA           NA           NA
## 3               NA          NA           NA           NA           NA
## 4               NA          NA           NA           NA           NA
## 5               NA          NA           NA           NA           NA
## 6               NA          NA           NA           NA           NA
##                   lhzone soldamt_maize_old ppu_maize_old soldamt_mango_old
## 1          Mixed Farming                NA            NA                NA
## 2 Marginal Mixed Farming                NA            NA                NA
## 3 Marginal Mixed Farming                NA            NA                NA
## 4 Marginal Mixed Farming                NA            NA                NA
## 5          Mixed Farming                NA            NA                NA
## 6 Marginal Mixed Farming                NA            NA                NA
##   ppu_mango_old milkyest_cam milkyest_cat milkyest_goa milkyest_she mon_date
## 1            NA           NA           NA           NA           NA       NA
## 2            NA           NA           NA           NA           NA       NA
## 3            NA           NA           NA           NA           NA       NA
## 4            NA           NA           NA           NA           NA       NA
## 5            NA           NA           NA           NA           NA       NA
## 6            NA           NA           NA           NA           NA       NA
##   mon_office muac1 muac2 muac3 muac4 muac5 muac6 name1 name2 name3 name4 name5
## 1         NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
## 2         NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
## 3         NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
## 4         NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
## 5         NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
## 6         NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA    NA
##   name6 aid_received aid_receivedother soldamt_other_old ppu_other_old pest_old
## 1    NA           NA                NA                NA            NA       NA
## 2    NA           NA                NA                NA            NA       NA
## 3    NA           NA                NA                NA            NA       NA
## 4    NA           NA                NA                NA            NA       NA
## 5    NA           NA                NA                NA            NA       NA
## 6    NA           NA                NA                NA            NA       NA
##   aid_food_old soldamt_rice_old ppu_rice_old saname soldamt_sorg_old
## 1           NA               NA           NA     NA               NA
## 2           NA               NA           NA     NA               NA
## 3           NA               NA           NA     NA               NA
## 4           NA               NA           NA     NA               NA
## 5           NA               NA           NA     NA               NA
## 6           NA               NA           NA     NA               NA
##   ppu_sorg_old
## 1           NA
## 2           NA
## 3           NA
## 4           NA
## 5           NA
## 6           NA

We save it to a new workbook and populate the rest of the sheets sequentially to the same Kitui workbook after relevant pre processing steps have been taken.

# Define the path for the new Excel workbook
new_file_path <- "C:/Users/AAH USER/OneDrive - Action Against Hunger USA/Documents/NDMA_DeIdentified/Kitui.xlsx"

# Create a new workbook
wb <- createWorkbook()

# Add the HHA-REWAS data to the new Kitui workbook
addWorksheet(wb, "HHA REWAS")
writeData(wb, "HHA REWAS", hha_rewas_data)

# Save the new workbook
saveWorkbook(wb, new_file_path, overwrite = TRUE)

2. HHA DEWS

The geocoordinates in the HHA dataset represent household coordinates, we will mask them (random displacement) using the Haversine Formula to randomly distribute a point around a central coordinate within a radius of 2.5 KM and drop other P.I.I.s.

library(openxlsx)

file_path <- "C:/Users/AAH USER/Downloads/Kitui.xlsx"

# Read the specific sheet into a data frame
hha_dews_data <- read.xlsx(file_path, sheet = "HHA DEWS")

The dataset contains household coordinates in columns “Lat” and “Long” which are considered P.I.I’s so we mask the coordinates, verify by plotting a histogram of the distribution of displacement distances of the original and displaced coordinates to establish uniformity.

We check for and deal with outliers if any in the “Lat” and “Long” columns

# Verify the dataset
summary(hha_dews_data$Lat)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##  -2.219  -1.321  -0.894  -0.731   0.000  44.989    4436
summary(hha_dews_data$Long)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    0.00    0.00   37.83   23.03   38.11   38.52    4436

There seems to be erroneous entries. 4436 rows also dont have entries for coordinates.

# Replace (0,0) coordinates with NA only in the Lat and Long columns
hha_dews_data$Lat[hha_dews_data$Lat == 0 & hha_dews_data$Long == 0] <- NA
hha_dews_data$Long[hha_dews_data$Lat == 0 & hha_dews_data$Long == 0] <- NA

# Calculate the mean for Lat and Long, ignoring NA values
lat_mean <- mean(hha_dews_data$Lat, na.rm = TRUE)
lon_mean <- mean(hha_dews_data$Long, na.rm = TRUE)

lat_sd <- sd(hha_dews_data$Lat, na.rm = TRUE)
lon_sd <- sd(hha_dews_data$Long, na.rm = TRUE)

# Calculate Z-scores
hha_dews_data <- hha_dews_data %>%
  mutate(lat_z = (Lat - lat_mean) / lat_sd,
         lon_z = (Long - lon_mean) / lon_sd)

# Set threshold for identifying outliers
threshold <- 3  # Common threshold for Z-scores

# Replace outliers with NA
hha_dews_data <- hha_dews_data %>%
  mutate(Lat = ifelse(abs(lat_z) > threshold & !is.na(lat_z), NA, Lat),
         Long = ifelse(abs(lon_z) > threshold & !is.na(lon_z), NA, Long))

# Remove the Z-score columns 
hha_dews_data <- hha_dews_data %>%
  select(-lat_z, -lon_z)

# Verify the dataset
summary(hha_dews_data$Lat)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##  -2.219  -1.430  -1.189  -1.231  -0.907  -0.262    8411
summary(hha_dews_data$Long)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    0.00    0.00   37.83   23.03   38.11   38.52    4436

3975 rows in total are affected by the outlier and are replaced with NAs, bringing the total to 8411 NAs. We proceed to mask the coordinates.

# Create backup columns for original coordinates
hha_dews_data$Original_Lat <- hha_dews_data$Lat
hha_dews_data$Original_Long <- hha_dews_data$Long

# Function to generate random displaced coordinates with uniform distance distribution
mask_coordinates_uniform <- function(lat, lon, radius_km) {
  R <- 6371  # Earth radius in kilometers
  
  # Random bearing angle (in radians)
  bearing <- runif(1, 0, 2 * pi)
  
  # Random distance uniformly sampled from [0, radius_km]
  rand_dist <- runif(1, 0, radius_km) / R  # Uniformly sampled distance in radians
  
  # Convert original coordinates to radians
  lat_rad <- lat * pi / 180
  lon_rad <- lon * pi / 180
  
  # Calculate new latitude (in radians)
  new_lat <- asin(sin(lat_rad) * cos(rand_dist) + 
                    cos(lat_rad) * sin(rand_dist) * cos(bearing))
  
  # Calculate new longitude (in radians)
  new_lon <- lon_rad + atan2(sin(bearing) * sin(rand_dist) * cos(lat_rad),
                             cos(rand_dist) - sin(lat_rad) * sin(new_lat))
  
  # Convert back to degrees
  new_lat <- new_lat * 180 / pi
  new_lon <- new_lon * 180 / pi
  
  return(c(new_lat, new_lon))
}

# Set displacement radius in kilometers
radius_km <- 2.5  

# Generate masked coordinates for each row using the modified function
masked_coords <- t(apply(hha_dews_data, 1, function(row) {
  mask_coordinates_uniform(as.numeric(row["Original_Lat"]), as.numeric(row["Original_Long"]), radius_km)
}))

# Replace the original Lat and Long columns with the masked coordinates
hha_dews_data$Lat <- masked_coords[, 1]
hha_dews_data$Long <- masked_coords[, 2]

We then evaluate the distribution of the displacement distances before dropping the original coordinates by plotting a histogram.

# Calculate displacement distances (in kilometers) as before
displacement_distances <- distHaversine(
  cbind(hha_dews_data$Long, hha_dews_data$Lat),  # Masked coordinates
  cbind(hha_dews_data$Original_Long, hha_dews_data$Original_Lat)  # Original coordinates
) / 1000  # Convert meters to kilometers

# Add displacement distances to the dataset for further analysis
hha_dews_data$Displacement_Distance <- displacement_distances

# Plot: Histogram of displacement distances
ggplot(hha_dews_data, aes(x = Displacement_Distance)) +
  geom_histogram(binwidth = 0.1, fill = "skyblue", color = "black") +
  labs(title = "Distribution of Displacement Distances",
       x = "Displacement Distance (km)", y = "Count") +
  theme_minimal()
## Warning: Removed 8411 rows containing non-finite values (`stat_bin()`).

There are no significant peaks or valleys in the histogram, suggesting that the displacements are indeed more uniformly distributed, as intended.

We then drop the original coordinates column leaving only the masked coordinates columns. We also drop other PII’s which are the “HouseholdName”, “HouseHoldHead”, and “RespondentName”.

# Drop the specified PII columns along with original coordinates
hha_dews_data <- hha_dews_data %>%
  select(-c(Original_Lat, Original_Long, Displacement_Distance, HouseholdName, HouseHoldHead, RespondentName))  

# Check the updated dataset
head(hha_dews_data)
##    QID County      SubCounty  Ward         LivelihoodZone Month Year Lat Long
## 1 8202  Kitui Mwingi Central Kivou Marginal Mixed Farming  July 2016  NA   NA
## 2 8218  Kitui Mwingi Central Kivou Marginal Mixed Farming  July 2016  NA   NA
## 3 8226  Kitui Mwingi Central Kivou Marginal Mixed Farming  July 2016  NA   NA
## 4 9031  Kitui     Kitui West Kauwi          Mixed Farming  July 2016  NA   NA
## 5 9048  Kitui     Kitui West Kauwi          Mixed Farming  July 2016  NA   NA
## 6 9069  Kitui     Kitui West Kauwi          Mixed Farming  July 2016  NA   NA
##   InterviewDate HouseholdCode HeadEducationLevel MainHHIncomeSource HeadGender
## 1         42563          <NA>               <NA>               <NA>       Male
## 2         42561          <NA>               <NA>               <NA>       Male
## 3         42553          <NA>               <NA>               <NA>       Male
## 4         42552           002               <NA>               <NA>       Male
## 5         42552           003               <NA>               <NA>       Male
## 6         42553           004               <NA>               <NA>       Male
##   RespondentGender MaleMembers FemaleMembers ChildrenBelow5 KeepLivestock
## 1           Female           4             3              0          TRUE
## 2           Female           1             3              0            NA
## 3           Female           5             1              0          TRUE
## 4             Male           2             2              0          TRUE
## 5             Male           4             5              0          TRUE
## 6             Male           1             4              0          TRUE
##   MilkAnimals MilkSource HowOftenMilked AverageMilkedPerDay
## 1       FALSE       <NA>             NA                  NA
## 2       FALSE       <NA>             NA                  NA
## 3       FALSE       <NA>             NA                  NA
## 4       FALSE       <NA>             NA                  NA
## 5       FALSE       <NA>             NA                  NA
## 6       FALSE       <NA>             NA                  NA
##   AverageMilkConsumedPerDay           WhoDrankMilk AverageMilkPrice
## 1                         0                   None               NA
## 2                         0                   None               NA
## 3                         0                   None               NA
## 4                        NA Children under 5 years               NA
## 5                        NA Children under 5 years               NA
## 6                        NA Children under 5 years               NA
##   HarvestedInLastWeeks AcresHarvested BagsHarvested HaveFoodStock
## 1                FALSE             NA            NA         FALSE
## 2                FALSE             NA            NA          TRUE
## 3                FALSE             NA            NA          TRUE
## 4                FALSE             NA            NA          TRUE
## 5                FALSE             NA            NA         FALSE
## 6                FALSE             NA            NA         FALSE
##   FoodStockSources DaysStockLast       WaterSource1            WaterSource2
## 1             <NA>             0 Piped Water System                    <NA>
## 2       Production            60 Piped Water System Traditional Water Wells
## 3       Production            90      Pans and dams      Piped Water System
## 4       Production            15      Pans and dams      Piped Water System
## 5       Production             0      Pans and dams      Piped Water System
## 6       Production            30      Pans and dams      Piped Water System
##   WaterSource3 NormalWaterSource   WhyNotNormalWaterSource
## 1         <NA>              TRUE                      <NA>
## 2         <NA>              TRUE                      <NA>
## 3         <NA>              TRUE                      <NA>
## 4     -Select-              TRUE Breakdown of water source
## 5     -Select-              TRUE Breakdown of water source
## 6     -Select-             FALSE Breakdown of water source
##   DaysWaterSourceExpectedToLast DistanceFromWaterSource NoWaterJerryCans
## 1                           150                     1.0                2
## 2                          1800                     1.0                2
## 3                           120                     2.0                2
## 4                           180                     1.5                2
## 5                           180                     1.5                4
## 6                            90                     1.5                2
##   JerryCansCost NormalHHWaterConsumption HHPayForWater CostTransportJerryCan
## 1             2                        0          TRUE                     0
## 2             2                        0          TRUE                     0
## 3             2                        0          TRUE                     0
## 4             2                        0          TRUE                     0
## 5             3                        0          TRUE                     0
## 6             2                        0         FALSE                     0
##   TreatWaterBeforeDrinking WaterTreatmentMethodUsed CSI_ReliedOnLess
## 1                    FALSE                     <NA>                0
## 2                    FALSE                     <NA>                0
## 3                    FALSE                     <NA>                0
## 4                    FALSE                     <NA>                0
## 5                     TRUE      Treatment Chemicals                0
## 6                    FALSE                     <NA>                0
##   CSI_BorrowedFood CSI_ReducedNoOfMeals CSI_ReducedPortionMealSize
## 1                0                    0                          0
## 2                0                    0                          0
## 3                0                    0                          0
## 4                0                    0                          0
## 5                0                    0                          0
## 6                0                    0                          0
##   CSI_QuantityForAdult CSI_SoldHouseholdAssets CSI_ReducedNonFoodExpenses
## 1                    0                       4                          4
## 2                    0                       2                          4
## 3                    0                       1                          1
## 4                    0                       4                          4
## 5                    0                       4                          4
## 6                    0                       4                          4
##   CSI_SoldProductiveAssets CSI_SpentSavings CSI_BorrowedMoney CSI_SoldHouseLand
## 1                        4                4                NA                 4
## 2                        4                4                NA                 4
## 3                        1                1                NA                 1
## 4                        4                4                NA                 4
## 5                        4                4                NA                 4
## 6                        4                4                NA                 4
##   CSI_WithdrewChildrenSchool CSI_SoldLastFemaleAnimal CSI_Begging
## 1                          4                        4           4
## 2                          4                        4           4
## 3                          1                        1           1
## 4                          4                        4           4
## 5                          4                        4           4
## 6                          4                        4           4
##   CSI_SoldMoreAnimals HFC_GrainDays HFC_GrainSource HFC_RootsDays
## 1                   4             0               0            NA
## 2                   4             0               0            NA
## 3                   1             0               0            NA
## 4                   4             3               5            NA
## 5                   4             2               5            NA
## 6                   4             2               1            NA
##   HFC_RootsSource HFC_PulsesNutsDays HFC_PulsesNutsSource HFC_OrangeVegDays
## 1              NA                  0                   10                NA
## 2              NA                  0                   10                NA
## 3              NA                  0                   10                NA
## 4              NA                  1                    1                NA
## 5              NA                  3                    5                NA
## 6              NA                  0                   10                NA
##   HFC_OrangeVegSource HFC_GreenLeafyDays HFC_GreenLeafySource HFC_OtherVegDays
## 1                  NA                 NA                   NA                7
## 2                  NA                 NA                   NA                7
## 3                  NA                 NA                   NA                7
## 4                  NA                 NA                   NA                2
## 5                  NA                 NA                   NA                3
## 6                  NA                 NA                   NA                5
##   HFC_OtherVegSource HFC_OrangeFruitsDays HFC_OrangeFruitsSource
## 1                  1                   NA                     NA
## 2                  1                   NA                     NA
## 3                  1                   NA                     NA
## 4                  5                   NA                     NA
## 5                  5                   NA                     NA
## 6                  5                   NA                     NA
##   HFC_OtherFruitsDays HFC_OtherFruitsSource HFC_MeatDays HFC_MeatSource
## 1                   0                    10            1              5
## 2                   2                     4            1              5
## 3                   2                     4            1              5
## 4                   0                    10            1              5
## 5                   0                    10            0             10
## 6                   0                    10            0             10
##   HFC_LiverDays HFC_LiverSource HFC_FishDays HFC_EggsDays HFC_EggsSource
## 1            NA              NA           NA           NA             NA
## 2            NA              NA           NA           NA             NA
## 3            NA              NA           NA           NA             NA
## 4            NA              NA           NA           NA             NA
## 5            NA              NA           NA           NA             NA
## 6            NA              NA           NA           NA             NA
##   HFC_MilkDays HFC_MilkSource HFC_OilDays HFC_OilSource HFC_SugarDays
## 1            0             10           0            10             0
## 2            0             10           0            10             0
## 3            0             10           0            10             0
## 4            0             10           1             5             0
## 5            0             10           2             5             0
## 6            0             10           1             5             1
##   HFC_SugarSource HFC_CondimentsDays HFC_CondimentsSource MainIncomeSource
## 1              10                  7                    5 4. Casual labour
## 2              10                  7                    5 4. Casual labour
## 3              10                  7                    5       10. Others
## 4              10                  0                   10 4. Casual labour
## 5              10                  0                   10 4. Casual labour
## 6               5                  0                   10 4. Casual labour
##   MaleCasualLabour FemaleCasualLabour CasualLabourEarn CharcoalSaleEarn
## 1                1                  1             3600                0
## 2                1                  1             3600                0
## 3                0                  0            14000                0
## 4                1                  0             3000                0
## 5                1                  0             4000                0
## 6                1                  0             4000                0
##   WoodSaleEarn DivisionID CountyID SiteID LivelihoodZoneID DateCaptured
## 1            0         82       17   1379                6     42573.53
## 2            0         82       17   1379                6     42576.42
## 3            0         82       17   1379                6     42576.48
## 4            0        130       17   1514                3           NA
## 5            0        130       17   1514                3           NA
## 6            0        130       17   1514                3           NA

We also have to ensure that the “InterviewDate” column is parsed correctly as a date before saving the worksheet to the new workbook.

# Ensure the column is numeric
hha_dews_data$InterviewDate <- as.numeric(hha_dews_data$InterviewDate)

# Convert the numeric date to Date format
hha_dews_data$InterviewDate <- as.Date(hha_dews_data$InterviewDate, origin = "1899-12-30")

# View the first few dates to verify the conversion
head(hha_dews_data$InterviewDate)
## [1] "2016-07-12" "2016-07-10" "2016-07-02" "2016-07-01" "2016-07-01"
## [6] "2016-07-02"

Save the cleaned data set as a different sheet in the Kitui workbook

# Define the path for the existing Excel workbook
existing_file_path <- "C:/Users/AAH USER/OneDrive - Action Against Hunger USA/Documents/NDMA_DeIdentified/Kitui.xlsx"

# Load the existing workbook
wb <- loadWorkbook(existing_file_path)

# Add the cleaned HHA DEWS data to the existing workbook
addWorksheet(wb, "HHA DEWS")
writeData(wb, "HHA DEWS", hha_dews_data)

# Save the updated workbook
saveWorkbook(wb, existing_file_path, overwrite = TRUE)

3. KIA REWAS

library(openxlsx)

file_path <- "C:/Users/AAH USER/Downloads/Kitui.xlsx"

# Read the specific sheet into a data frame
kia_rewas_data <- read.xlsx(file_path, sheet = "KIA REWAS")

There are no P.I.I columns in this particular sheet. We ensure that the “date” column is parsed correctly as a date.

library(lubridate)
## 
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
## 
##     date, intersect, setdiff, union
# Ensure the column is numeric
kia_rewas_data$date <- as.numeric(kia_rewas_data$date)
## Warning: NAs introduced by coercion
# Convert the Excel serial date to R Date
kia_rewas_data$date <- as.Date(kia_rewas_data$date, origin ="1899-12-30")
# Verify the output
head(kia_rewas_data$date)
## [1] "2014-06-02" "2014-06-02" "2014-06-02" "2014-06-02" "2014-06-02"
## [6] "2014-06-02"

We save this new sheet alongside the previous two in the Kitui workbook created

# Define the path for the existing Excel workbook
existing_file_path <- "C:/Users/AAH USER/OneDrive - Action Against Hunger USA/Documents/NDMA_DeIdentified/Kitui.xlsx"

# Load the existing workbook
wb <- loadWorkbook(existing_file_path)

# Add the KIA REWAS data to the existing workbook
addWorksheet(wb, "KIA REWAS")
writeData(wb, "KIA REWAS", kia_rewas_data)

# Save the updated workbook
saveWorkbook(wb, existing_file_path, overwrite = TRUE)

4. KIA DEWS

library(openxlsx)

file_path <- "C:/Users/AAH USER/Downloads/Kitui.xlsx"

# Read the specific sheet into a data frame
kia_dews_data <- read.xlsx(file_path, sheet = "KIA DEWS")

There are no P.I.I columns in this particular sheet. We ensure that the “InterviewDate” column is parsed correctly as a date

library(lubridate)

# Convert the numeric date to Date format
kia_dews_data$InterviewDate <- as.Date(kia_dews_data$InterviewDate, origin = "1899-12-30")

# View the first few dates to verify the conversion
head(kia_dews_data$InterviewDate)
## [1] "2016-05-24" "2016-05-24" "2016-05-24" "2016-06-22" "2016-06-22"
## [6] "2016-06-22"

We save this new sheet alongside the previous three in the Kitui workbook created

# Define the path for the existing Excel workbook
existing_file_path <- "C:/Users/AAH USER/OneDrive - Action Against Hunger USA/Documents/NDMA_DeIdentified/Kitui.xlsx"

# Load the existing workbook
wb <- loadWorkbook(existing_file_path)

# Add the KIA DEWS data to the existing workbook
addWorksheet(wb, "KIA DEWS")
writeData(wb, "KIA DEWS", kia_dews_data)

# Save the updated workbook
saveWorkbook(wb, existing_file_path, overwrite = TRUE)

5. MUAC REWAS

library(openxlsx)

file_path <- "C:/Users/AAH USER/Downloads/Kitui.xlsx"

# Read the specific sheet into a data frame
muac_rewas_data <- read.xlsx(file_path, sheet = "MUAC REWAS")

We drop PII’s which are the “fname”, and “hhname”.

# Drop the specified PII columns 
muac_rewas_data <- muac_rewas_data %>%
  select(-c(fname, hhname ))  

# Check the updated dataset
head(muac_rewas_data)
##   district_name year     admin6id child_age batchid child_sickcode district
## 1         KITUI 2014 KE0203020402        23    1340              0        6
## 2         KITUI 2014 KE0203020402        59    1340              0        6
## 3         KITUI 2014 KE0203020402        30    1340              0        6
## 4         KITUI 2014 KE0203020402        56    1340              0        6
## 5         KITUI 2014 KE0203020402        41    1340              0        6
## 6         KITUI 2014 KE0203020402        36    1340              0        6
##   division child_sex child_sick hhaid hhamuacid item child_hh lzonehh month
## 1      123      Male         No 68375         1    1       No       6     1
## 2      123      Male         No 68375         2    2       No       6     1
## 3      123      Male         No 68375         3    3       No       6     1
## 4      123      Male         No 68375         4    4       No       6     1
## 5      123    Female         No 68375         5    5       No       6     1
## 6      123      Male         No 68375         6    6       No       6     1
##   muac sacode serialno
## 1  142    280      360
## 2  155    280      360
## 3  149    280      360
## 4  151    280      360
## 5  158    280      360
## 6  145    280      360

We save this new sheet alongside the previous four in the Kitui workbook created

# Define the path for the existing Excel workbook
existing_file_path <- "C:/Users/AAH USER/OneDrive - Action Against Hunger USA/Documents/NDMA_DeIdentified/Kitui.xlsx"

# Load the existing workbook
wb <- loadWorkbook(existing_file_path)

# Add the KIA DEWS data to the existing workbook
addWorksheet(wb, "MUAC REWAS")
writeData(wb, "MUAC REWAS", muac_rewas_data)

# Save the updated workbook
saveWorkbook(wb, existing_file_path, overwrite = TRUE)

6. MUAC DEWS

library(openxlsx)

file_path <- "C:/Users/AAH USER/Downloads/Kitui.xlsx"

# Read the specific sheet into a data frame
muac_dews_data <- read.xlsx(file_path, sheet = "MUAC DEWS")

This data set has P.I.I’s in the “ChildName” column so we will drop that.

# Drop the specified PII columns along with original coordinates
muac_dews_data <- muac_dews_data %>%
  select(-ChildName)  

# Check the updated dataset
head(muac_dews_data)
##   MUACIndicatorID  QID County      SubCounty  Ward         LivelihoodZone Month
## 1           14131 8202  Kitui Mwingi Central Kivou Marginal Mixed Farming  July
## 2           14132 8202  Kitui Mwingi Central Kivou Marginal Mixed Farming  July
## 3           14133 8202  Kitui Mwingi Central Kivou Marginal Mixed Farming  July
## 4           14134 8202  Kitui Mwingi Central Kivou Marginal Mixed Farming  July
## 5           14135 8202  Kitui Mwingi Central Kivou Marginal Mixed Farming  July
## 6           14201 8218  Kitui Mwingi Central Kivou Marginal Mixed Farming  July
##   Year HouseholdCode     Gender MUAC MUAC_Color AgeInMonths LiveInHousehold
## 1 2016          <NA> Male        155       <NA>          21            TRUE
## 2 2016          <NA> Male        137       <NA>          46            TRUE
## 3 2016          <NA> Female      139       <NA>          20            TRUE
## 4 2016          <NA> Female      136       <NA>          30            TRUE
## 5 2016          <NA> Female      140       <NA>          19            TRUE
## 6 2016          <NA> Female      152       <NA>          52            TRUE
##   SufferedIllnesses InterviewDate DivisionID CountyID SiteID LivelihoodZoneID
## 1              <NA>         42563         82       17   1379                6
## 2              <NA>         42563         82       17   1379                6
## 3              <NA>         42563         82       17   1379                6
## 4              <NA>         42563         82       17   1379                6
## 5              <NA>         42563         82       17   1379                6
## 6              <NA>         42561         82       17   1379                6

We also have to ensure that the “InterviewDate” column is parsed correctly as a date.

library(lubridate)
# Ensure the column is numeric
muac_dews_data$InterviewDate <- as.numeric(muac_dews_data$InterviewDate)
# Convert the Excel serial date to R Date
muac_dews_data$InterviewDate <- as.Date(muac_dews_data$InterviewDate, origin = "1899-12-30")
# Verify the output
head(muac_dews_data$InterviewDate)
## [1] "2016-07-12" "2016-07-12" "2016-07-12" "2016-07-12" "2016-07-12"
## [6] "2016-07-10"

Save this final sheet to the existing workbook

# Define the path for the existing Excel workbook
existing_file_path <- "C:/Users/AAH USER/OneDrive - Action Against Hunger USA/Documents/NDMA_DeIdentified/Kitui.xlsx"

# Load the existing workbook
wb <- loadWorkbook(existing_file_path)

# Add the KIA DEWS data to the existing workbook
addWorksheet(wb, "MUAC DEWS")
writeData(wb, "MUAC DEWS", muac_dews_data)

# Save the updated workbook
saveWorkbook(wb, existing_file_path, overwrite = TRUE)