In 2018, United States President Donald Trump enacted a family separation policy at the US-Mexico border. Under the policy, as immigrant families entered the United States, children were separated from the rest of their families by U.S. Immigration and Customs Enforcement (ICE) and brought to detention facilities around the country.
Upon learning about this policy, the American Civil Liberties Union (ACLU) filed a lawsuit against the administration. The government subsequently provided the ACLU with data related to the immigrant children separated from their families at the border.
“Aren’t grown ups supposed to keep kids safe”
As a concerned citizen of the world, I was interested in researching the family separations and want to get a better understanding of how many children were separated and where they were taken. Using the government data provided to the ACLU, this project focuses on digging into the numbers and gain an understanding of the situation.
# load libraries
library(readr)
library(dplyr)
Each row of this data frame represents a single detention center, and the number stored in column n is the number of children held at each facility.
# load data
aclu <- read_csv("aclu_separations.csv")
## Parsed with column specification:
## cols(
## addr = col_character(),
## n = col_double(),
## program_city = col_character(),
## program_state = col_character(),
## lon = col_double(),
## lat = col_double()
## )
head(aclu)
## # A tibble: 6 x 6
## addr n program_city program_state lon lat
## <chr> <dbl> <chr> <chr> <dbl> <dbl>
## 1 Baltimore, MD 12 Baltimore MD -76.6 39.3
## 2 Baytown, TX 63 Baytown TX -95.0 29.7
## 3 Bethlehem, PA 15 Bethlehem PA -75.4 40.6
## 4 Bristow, VA 23 Bristow VA -77.5 38.7
## 5 Bronx, NY 354 Bronx NY -73.9 40.8
## 6 Brownsville, TX 348 Brownsville TX -97.5 25.9
summary(aclu)
## addr n program_city program_state
## Length:64 Min. : 1.00 Length:64 Length:64
## Class :character 1st Qu.: 5.00 Class :character Class :character
## Mode :character Median : 15.50 Mode :character Mode :character
## Mean : 41.47
## 3rd Qu.: 41.75
## Max. :354.00
## lon lat
## Min. :-122.66 Min. :25.47
## 1st Qu.:-111.14 1st Qu.:30.18
## Median : -96.50 Median :33.73
## Mean : -95.22 Mean :35.16
## 3rd Qu.: -78.71 3rd Qu.:40.78
## Max. : -71.80 Max. :47.61
addr column contains the same information that is contained in the program_city and program_state columns.
# select columns
aclu <- aclu %>%
select(-addr)
# view columns
colnames(aclu)
## [1] "n" "program_city" "program_state" "lon"
## [5] "lat"
# rename columns
aclu <- aclu %>%
rename(city = program_city, state = program_state, number_children = n, longitude = lon, latitude = lat)
colnames (aclu)
## [1] "number_children" "city" "state" "longitude"
## [5] "latitude"
How far each detention center is from the United States-Mexico border, in terms of latitude change. Southernmost point of the border lies at a latitude of 25.83. I have created a variable border_latitude with the value 25.83.
# add column
border_latitude <- 25.83
aclu <- aclu %>%
mutate(lat_change_border = latitude - border_latitude)
head(aclu)
## # A tibble: 6 x 6
## number_children city state longitude latitude lat_change_border
## <dbl> <chr> <chr> <dbl> <dbl> <dbl>
## 1 12 Baltimore MD -76.6 39.3 13.5
## 2 63 Baytown TX -95.0 29.7 3.91
## 3 15 Bethlehem PA -75.4 40.6 14.8
## 4 23 Bristow VA -77.5 38.7 12.9
## 5 354 Bronx NY -73.9 40.8 15.0
## 6 348 Brownsville TX -97.5 25.9 0.0717
# latitude change
further_away <- aclu %>%
filter (lat_change_border > 15)
further_away <- further_away %>%
arrange(desc(lat_change_border))
further_away
## # A tibble: 15 x 6
## number_children city state longitude latitude lat_change_border
## <dbl> <chr> <chr> <dbl> <dbl> <dbl>
## 1 5 Seattle WA -122. 47.6 21.8
## 2 2 Renton WA -122. 47.5 21.6
## 3 2 Tacoma WA -122. 47.3 21.4
## 4 4 Portland OR -123. 45.5 19.7
## 5 1 Rochester NY -77.6 43.2 17.3
## 6 45 Grand Rapids MI -85.7 43.0 17.1
## 7 1 Worcester MA -71.8 42.3 16.4
## 8 4 Des Plaines IL -87.9 42.0 16.2
## 9 7 Kingston NY -74.0 41.9 16.1
## 10 87 Chicago IL -87.6 41.9 16.0
## 11 2 Mystic CT -72.0 41.4 15.5
## 12 11 Lincolndale NY -73.7 41.3 15.5
## 13 26 Irvington NY -73.9 41.0 15.2
## 14 23 Yonkers NY -73.9 40.9 15.1
## 15 354 Bronx NY -73.9 40.8 15.0
Children Separated From Teir Parents
# number of children
ordered_by_children <- aclu %>%
arrange(desc(number_children))
head(ordered_by_children)
## # A tibble: 6 x 6
## number_children city state longitude latitude lat_change_border
## <dbl> <chr> <chr> <dbl> <dbl> <dbl>
## 1 354 Bronx NY -73.9 40.8 15.0
## 2 348 Brownsville TX -97.5 25.9 0.0717
## 3 208 Phoenix AZ -112. 33.4 7.62
## 4 174 Harlingen TX -97.7 26.2 0.361
## 5 163 San Antonio TX -98.5 29.4 3.59
## 6 145 Homestead FL -80.5 25.5 -0.361
According to the data, children have been separated from their parents to detention centers located in many states. I have checked Washington. The code can be reused to check other state as well, changing the variable value.
Facilities where separated children were held
# state analysis
choosen_state <- ("WA")
choosen_state_separations <- aclu %>%
filter(state == choosen_state) %>%
arrange(desc(number_children))
choosen_state_separations
## # A tibble: 3 x 6
## number_children city state longitude latitude lat_change_border
## <dbl> <chr> <chr> <dbl> <dbl> <dbl>
## 1 5 Seattle WA -122. 47.6 21.8
## 2 2 Renton WA -122. 47.5 21.6
## 3 2 Tacoma WA -122. 47.3 21.4
Author github: Emon-ProCoder7 2. Author Linked-in:Md Tabassum Hossain Emon↩