Make a table of the number of penguins of each species observed on each island. Format with good column headings and a title.

penguins |> rename(Species = species) |>
  count(Species, island) |>
  pivot_wider(names_from = island, values_from = n,
              values_fill = 0) |>
  kable(caption = "Number of individuals of each species observed on three island near the Antarctic peninsula.",
        # col.names = c("Species", "Biscoe", "Dream", "Torgersen")
        ) |>
  add_header_above(c(" " = 1, "Island" = 3)) |>
  kable_styling(full_width = FALSE)
Number of individuals of each species observed on three island near the Antarctic peninsula.
Island
Species Biscoe Dream Torgersen
Adelie 44 56 52
Chinstrap 0 68 0
Gentoo 124 0 0

Bonus material

gapminder |>
    filter(country == "Canada" | country == "Iran") 
## # A tibble: 24 × 6
##    country continent  year lifeExp      pop gdpPercap
##    <fct>   <fct>     <int>   <dbl>    <int>     <dbl>
##  1 Canada  Americas   1952    68.8 14785584    11367.
##  2 Canada  Americas   1957    70.0 17010154    12490.
##  3 Canada  Americas   1962    71.3 18985849    13462.
##  4 Canada  Americas   1967    72.1 20819767    16077.
##  5 Canada  Americas   1972    72.9 22284500    18971.
##  6 Canada  Americas   1977    74.2 23796400    22091.
##  7 Canada  Americas   1982    75.8 25201900    22899.
##  8 Canada  Americas   1987    76.9 26549700    26627.
##  9 Canada  Americas   1992    78.0 28523502    26343.
## 10 Canada  Americas   1997    78.6 30305843    28955.
## # ℹ 14 more rows
gapminder |>
    filter(country == "Canada" | country == "Iran" | country == "China")
## # A tibble: 36 × 6
##    country continent  year lifeExp      pop gdpPercap
##    <fct>   <fct>     <int>   <dbl>    <int>     <dbl>
##  1 Canada  Americas   1952    68.8 14785584    11367.
##  2 Canada  Americas   1957    70.0 17010154    12490.
##  3 Canada  Americas   1962    71.3 18985849    13462.
##  4 Canada  Americas   1967    72.1 20819767    16077.
##  5 Canada  Americas   1972    72.9 22284500    18971.
##  6 Canada  Americas   1977    74.2 23796400    22091.
##  7 Canada  Americas   1982    75.8 25201900    22899.
##  8 Canada  Americas   1987    76.9 26549700    26627.
##  9 Canada  Americas   1992    78.0 28523502    26343.
## 10 Canada  Americas   1997    78.6 30305843    28955.
## # ℹ 26 more rows
gapminder |>
    filter(country %in% c("Canada", "Iran", "China")) 
## # A tibble: 36 × 6
##    country continent  year lifeExp      pop gdpPercap
##    <fct>   <fct>     <int>   <dbl>    <int>     <dbl>
##  1 Canada  Americas   1952    68.8 14785584    11367.
##  2 Canada  Americas   1957    70.0 17010154    12490.
##  3 Canada  Americas   1962    71.3 18985849    13462.
##  4 Canada  Americas   1967    72.1 20819767    16077.
##  5 Canada  Americas   1972    72.9 22284500    18971.
##  6 Canada  Americas   1977    74.2 23796400    22091.
##  7 Canada  Americas   1982    75.8 25201900    22899.
##  8 Canada  Americas   1987    76.9 26549700    26627.
##  9 Canada  Americas   1992    78.0 28523502    26343.
## 10 Canada  Americas   1997    78.6 30305843    28955.
## # ℹ 26 more rows
penguins |> count(species, island) |>
  pivot_wider(names_from = island,
              values_from = n,
              values_fill = 0) |>
  kable(caption = "Number of penguins observed on each island, by species",
       col.names = c("Species", "Biscoe", "Dream", "Torgersen")) |>
  add_header_above(c(" " = 1, "Island" = 3)) |>
  kable_styling() 
Number of penguins observed on each island, by species
Island
Species Biscoe Dream Torgersen
Adelie 44 56 52
Chinstrap 0 68 0
Gentoo 124 0 0