Part 1

Rename long column names for readability (e.g., year, slaves_embarked, slaves_disembarked).

## # A tibble: 6 × 46
##      id voyage_id  year slaves_disembarked slaves_embarked
##   <int>     <int> <dbl>              <dbl>           <dbl>
## 1     1         1  1817                290             404
## 2     2         2  1817                223             246
## 3     3         3  1817                350             405
## 4     4         4  1817                342             381
## 5     5         5  1817                516             578
## 6     6         6  1817                515             557
## # ℹ 41 more variables: voyage_dates__length_middle_passage_days <dbl>,
## #   voyage_dates__imp_length_home_to_disembark <dbl>,
## #   voyage_crew__crew_first_landing <dbl>,
## #   voyage_crew__crew_voyage_outset <dbl>, voyage_ship__tonnage_mod <dbl>,
## #   voyage_slaves_numbers__imp_jamaican_cash_price <dbl>,
## #   voyage_slaves_numbers__imp_mortality_ratio <dbl>,
## #   voyage_slaves_numbers__percentage_women_among_embarked_slaves <dbl>, …
## # A tibble: 6 × 46
##       id voyage_id  year slaves_disembarked slaves_embarked
##    <int>     <int> <dbl>              <dbl>           <dbl>
## 1  99998     99998     0                  0               0
## 2 100002    100002  1717                 40              41
## 3 100003    100003  1717                 16              17
## 4 100004    100004  1717                 30              31
## 5 100008    100008  1737                  8               9
## 6 100009    100009  1700                 96             100
## # ℹ 41 more variables: voyage_dates__length_middle_passage_days <dbl>,
## #   voyage_dates__imp_length_home_to_disembark <dbl>,
## #   voyage_crew__crew_first_landing <dbl>,
## #   voyage_crew__crew_voyage_outset <dbl>, voyage_ship__tonnage_mod <dbl>,
## #   voyage_slaves_numbers__imp_jamaican_cash_price <dbl>,
## #   voyage_slaves_numbers__imp_mortality_ratio <dbl>,
## #   voyage_slaves_numbers__percentage_women_among_embarked_slaves <dbl>, …

Convert year to integer, slave numbers to numeric.

## # A tibble: 6 × 46
##      id voyage_id  year slaves_disembarked slaves_embarked
##   <int>     <int> <int>              <dbl>           <dbl>
## 1     1         1  1817                290             404
## 2     2         2  1817                223             246
## 3     3         3  1817                350             405
## 4     4         4  1817                342             381
## 5     5         5  1817                516             578
## 6     6         6  1817                515             557
## # ℹ 41 more variables: voyage_dates__length_middle_passage_days <dbl>,
## #   voyage_dates__imp_length_home_to_disembark <dbl>,
## #   voyage_crew__crew_first_landing <dbl>,
## #   voyage_crew__crew_voyage_outset <dbl>, voyage_ship__tonnage_mod <dbl>,
## #   voyage_slaves_numbers__imp_jamaican_cash_price <dbl>,
## #   voyage_slaves_numbers__imp_mortality_ratio <dbl>,
## #   voyage_slaves_numbers__percentage_women_among_embarked_slaves <dbl>, …
## # A tibble: 6 × 46
##       id voyage_id  year slaves_disembarked slaves_embarked
##    <int>     <int> <int>              <dbl>           <dbl>
## 1  99998     99998     0                  0               0
## 2 100002    100002  1717                 40              41
## 3 100003    100003  1717                 16              17
## 4 100004    100004  1717                 30              31
## 5 100008    100008  1737                  8               9
## 6 100009    100009  1700                 96             100
## # ℹ 41 more variables: voyage_dates__length_middle_passage_days <dbl>,
## #   voyage_dates__imp_length_home_to_disembark <dbl>,
## #   voyage_crew__crew_first_landing <dbl>,
## #   voyage_crew__crew_voyage_outset <dbl>, voyage_ship__tonnage_mod <dbl>,
## #   voyage_slaves_numbers__imp_jamaican_cash_price <dbl>,
## #   voyage_slaves_numbers__imp_mortality_ratio <dbl>,
## #   voyage_slaves_numbers__percentage_women_among_embarked_slaves <dbl>, …

Filter out rows where slaves_disembarked is 0 or NA (incomplete voyages).

## # A tibble: 6 × 46
##      id voyage_id  year slaves_disembarked slaves_embarked
##   <int>     <int> <int>              <dbl>           <dbl>
## 1     1         1  1817                290             404
## 2     2         2  1817                223             246
## 3     3         3  1817                350             405
## 4     4         4  1817                342             381
## 5     5         5  1817                516             578
## 6     6         6  1817                515             557
## # ℹ 41 more variables: voyage_dates__length_middle_passage_days <dbl>,
## #   voyage_dates__imp_length_home_to_disembark <dbl>,
## #   voyage_crew__crew_first_landing <dbl>,
## #   voyage_crew__crew_voyage_outset <dbl>, voyage_ship__tonnage_mod <dbl>,
## #   voyage_slaves_numbers__imp_jamaican_cash_price <dbl>,
## #   voyage_slaves_numbers__imp_mortality_ratio <dbl>,
## #   voyage_slaves_numbers__percentage_women_among_embarked_slaves <dbl>, …
## # A tibble: 6 × 46
##       id voyage_id  year slaves_disembarked slaves_embarked
##    <int>     <int> <int>              <dbl>           <dbl>
## 1 100002    100002  1717                 40              41
## 2 100003    100003  1717                 16              17
## 3 100004    100004  1717                 30              31
## 4 100008    100008  1737                  8               9
## 5 100009    100009  1700                 96             100
## 6 100012    100012  1730                 15              16
## # ℹ 41 more variables: voyage_dates__length_middle_passage_days <dbl>,
## #   voyage_dates__imp_length_home_to_disembark <dbl>,
## #   voyage_crew__crew_first_landing <dbl>,
## #   voyage_crew__crew_voyage_outset <dbl>, voyage_ship__tonnage_mod <dbl>,
## #   voyage_slaves_numbers__imp_jamaican_cash_price <dbl>,
## #   voyage_slaves_numbers__imp_mortality_ratio <dbl>,
## #   voyage_slaves_numbers__percentage_women_among_embarked_slaves <dbl>, …

Filter for successful outcomes (e.g., “Slaves disembarked”, “Voyage completed”, “Sold slaves”).

## # A tibble: 6 × 46
##      id voyage_id  year slaves_disembarked slaves_embarked
##   <int>     <int> <int>              <dbl>           <dbl>
## 1     1         1  1817                290             404
## 2     2         2  1817                223             246
## 3     3         3  1817                350             405
## 4     4         4  1817                342             381
## 5     5         5  1817                516             578
## 6     6         6  1817                515             557
## # ℹ 41 more variables: voyage_dates__length_middle_passage_days <dbl>,
## #   voyage_dates__imp_length_home_to_disembark <dbl>,
## #   voyage_crew__crew_first_landing <dbl>,
## #   voyage_crew__crew_voyage_outset <dbl>, voyage_ship__tonnage_mod <dbl>,
## #   voyage_slaves_numbers__imp_jamaican_cash_price <dbl>,
## #   voyage_slaves_numbers__imp_mortality_ratio <dbl>,
## #   voyage_slaves_numbers__percentage_women_among_embarked_slaves <dbl>, …
## # A tibble: 6 × 46
##       id voyage_id  year slaves_disembarked slaves_embarked
##    <int>     <int> <int>              <dbl>           <dbl>
## 1 100002    100002  1717                 40              41
## 2 100003    100003  1717                 16              17
## 3 100004    100004  1717                 30              31
## 4 100008    100008  1737                  8               9
## 5 100012    100012  1730                 15              16
## 6 100013    100013  1730                147             150
## # ℹ 41 more variables: voyage_dates__length_middle_passage_days <dbl>,
## #   voyage_dates__imp_length_home_to_disembark <dbl>,
## #   voyage_crew__crew_first_landing <dbl>,
## #   voyage_crew__crew_voyage_outset <dbl>, voyage_ship__tonnage_mod <dbl>,
## #   voyage_slaves_numbers__imp_jamaican_cash_price <dbl>,
## #   voyage_slaves_numbers__imp_mortality_ratio <dbl>,
## #   voyage_slaves_numbers__percentage_women_among_embarked_slaves <dbl>, …

Add new columns: decade (e.g., floor(year / 10) * 10), estimated_deaths (slaves_embarked - slaves_disembarked), is_us (TRUE if disembark is US-based, using dis_broad == “Mainland North America” or specific US regions/ports like “New Orleans”).

## # A tibble: 6 × 49
##      id voyage_id  year slaves_disembarked slaves_embarked
##   <int>     <int> <int>              <dbl>           <dbl>
## 1     1         1  1817                290             404
## 2     2         2  1817                223             246
## 3     3         3  1817                350             405
## 4     4         4  1817                342             381
## 5     5         5  1817                516             578
## 6     6         6  1817                515             557
## # ℹ 44 more variables: voyage_dates__length_middle_passage_days <dbl>,
## #   voyage_dates__imp_length_home_to_disembark <dbl>,
## #   voyage_crew__crew_first_landing <dbl>,
## #   voyage_crew__crew_voyage_outset <dbl>, voyage_ship__tonnage_mod <dbl>,
## #   voyage_slaves_numbers__imp_jamaican_cash_price <dbl>,
## #   voyage_slaves_numbers__imp_mortality_ratio <dbl>,
## #   voyage_slaves_numbers__percentage_women_among_embarked_slaves <dbl>, …
## # A tibble: 6 × 49
##       id voyage_id  year slaves_disembarked slaves_embarked
##    <int>     <int> <int>              <dbl>           <dbl>
## 1 100002    100002  1717                 40              41
## 2 100003    100003  1717                 16              17
## 3 100004    100004  1717                 30              31
## 4 100008    100008  1737                  8               9
## 5 100012    100012  1730                 15              16
## 6 100013    100013  1730                147             150
## # ℹ 44 more variables: voyage_dates__length_middle_passage_days <dbl>,
## #   voyage_dates__imp_length_home_to_disembark <dbl>,
## #   voyage_crew__crew_first_landing <dbl>,
## #   voyage_crew__crew_voyage_outset <dbl>, voyage_ship__tonnage_mod <dbl>,
## #   voyage_slaves_numbers__imp_jamaican_cash_price <dbl>,
## #   voyage_slaves_numbers__imp_mortality_ratio <dbl>,
## #   voyage_slaves_numbers__percentage_women_among_embarked_slaves <dbl>, …

Combine the datasets with bind_rows(), adding a source_type column (“Trans-Atlantic” or “Intra-American”).

## # A tibble: 6 × 50
##      id voyage_id  year slaves_disembarked slaves_embarked
##   <int>     <int> <int>              <dbl>           <dbl>
## 1     1         1  1817                290             404
## 2     2         2  1817                223             246
## 3     3         3  1817                350             405
## 4     4         4  1817                342             381
## 5     5         5  1817                516             578
## 6     6         6  1817                515             557
## # ℹ 45 more variables: voyage_dates__length_middle_passage_days <dbl>,
## #   voyage_dates__imp_length_home_to_disembark <dbl>,
## #   voyage_crew__crew_first_landing <dbl>,
## #   voyage_crew__crew_voyage_outset <dbl>, voyage_ship__tonnage_mod <dbl>,
## #   voyage_slaves_numbers__imp_jamaican_cash_price <dbl>,
## #   voyage_slaves_numbers__imp_mortality_ratio <dbl>,
## #   voyage_slaves_numbers__percentage_women_among_embarked_slaves <dbl>, …

Part 2

1. Total slaves imported to the US: Filter for is_us == TRUE, sum slaves_disembarked from both datasets.

## # A tibble: 1 × 1
##   total_us_imported
##               <dbl>
## 1            400314
## [1] "400,314"

The data show that a total of 400,314 enslaved people were brought to the United States based on the cleaned Trans-Atlantic and Intra-American datasets. This number reflects voyages that successfully disembarked enslaved individuals in US ports. While other regions in the Americas received larger numbers overall, this total shows that the United States was still an important destination in the Atlantic slave trade.

2. Proportion of all slaves taken from Africa: Calculate US total / total slaves_embarked from Trans-Atlantic dataset (as this represents slaves taken from Africa).

## [1] 0.05154527

The proportion of enslaved people taken from Africa who ultimately arrived in the United States was approximately 0.0515. This means that only a share of the total enslaved population transported across the Atlantic ended up in US ports. Most enslaved individuals were sent to other regions in the Americas, such as the Caribbean or South America.

3. Graph slave imports by decade to the US: Filter for US, group by decade, sum slaves_disembarked, plot as a bar graph with ggplot2.

The bar graph shows that slave imports to the United States varied significantly by decade. Some decades saw much higher numbers of arrivals, while others experienced declines. This suggests that the US slave trade was not constant over time and was influenced by economic conditions, policy changes, and historical events.

4. Imports to the US by decade and region/port/state: Filter for US, group by decade, dis_region, dis_port (approximate state from port/region, e.g., “New Orleans” -> “Louisiana”), sum slaves_disembarked. Use a table and faceted bar plot.

## # A tibble: 25 × 5
##    decade state         dis_region    dis_port                   us_imports
##     <dbl> <chr>         <chr>         <chr>                           <dbl>
##  1   1610 Other/Unknown Virginia      Hampton                            29
##  2   1620 Other/Unknown Virginia      Virginia, port unspecified          3
##  3   1630 New York      New York      New York                           53
##  4   1630 Other/Unknown Virginia      Virginia, port unspecified         13
##  5   1630 Massachusetts Massachusetts Boston                              7
##  6   1640 New York      New York      New York                           69
##  7   1640 Other/Unknown Virginia      Virginia, port unspecified         12
##  8   1650 New York      New York      New York                          477
##  9   1650 Other/Unknown Virginia      Virginia, port unspecified        125
## 10   1650 Other/Unknown Maryland      Maryland, port unspecified          5
## # ℹ 15 more rows

The table and faceted bar plot show that slave imports to the United States were concentrated in a small number of major ports. Ports such as New Orleans and Charleston accounted for a large share of arrivals. The data also show that different states experienced peaks during different decades, indicating regional differences in the demand for enslaved labor.

5. Countries participating in export from Africa, by decade: From Trans-Atlantic dataset, group by decade and voyage_ship__imputed_nationality__name (as “country”), count unique voyages or sum slaves_embarked. Display in a table.

## # A tibble: 30 × 4
##    decade country           voyages total_embarked
##     <dbl> <chr>               <int>          <dbl>
##  1   1510 Portugal / Brazil       2            624
##  2   1510 Spain / Uruguay         8            144
##  3   1520 Spain / Uruguay         3           1043
##  4   1530 Portugal / Brazil       2            560
##  5   1530 Spain / Uruguay         1            224
##  6   1540 Portugal / Brazil       1            160
##  7   1550 Portugal / Brazil       2            718
##  8   1560 Great Britain          17           1749
##  9   1560 Spain                   1            400
## 10   1560 Spain / Uruguay         1            208
## # ℹ 20 more rows

The country-by-decade table shows which nationalities were most involved in the export of enslaved people from Africa. Participation changed over time, with some countries dominating during certain decades. This reflects shifts in political power, trade routes, and economic influence within the Atlantic slave trade system.

Summary

I cleaned and combined Trans-Atlantic and Intra-American slave trade voyage data using tidyverse. After removing incomplete voyages and adding decade, estimated deaths, and a US indicator, I calculated totals and trends for US arrivals.

The cleaned data show 400,314 enslaved people disembarked in the United States. The decade chart shows that arrivals varied over time, and the faceted port chart suggests that a few major ports accounted for a large share of arrivals.