HDS 3.3-3.4

Author

Dikshya Subedi

library(tidyverse)
library(palmerpenguins)

Begin by loading the tidyverse and palmerpenguins packages in the code chunk above and adding your name as the author.

Visualizing the penguins Data

Two Categorical Variables

Let’s start by making a stacked bar chart of the island variable by sex. Fill in the missing code:

ggplot(penguins, aes(x = island, fill = sex)) +
  geom_bar() +

  labs(
    x = "Island",
    y = "Number of Penguins",
    fill = "Sex",
    title = "Distribution of Penguin Species by Island and Sex"
  )

Modify the previous bar chart to make a side-by-side bar chart of the two variables:

ggplot(penguins, aes(x = island, fill = sex)) +
  geom_bar(position = "dodge") +
  labs(
    x = "Island",
    y = "Number of Penguins",
    fill = "Sex",
    title = "Distribution of Penguin Species by Island and Sex"
  )

One Quantitative/One Categorical Variables

Now let’s make side-by-side boxplots of body_mass_g by sex. Put the quantitative variable on the y-axis and the categorical variable on the x-axis.

ggplot(penguins, aes(x = sex, y = body_mass_g)) +
  geom_boxplot() +
  labs(
    x = "Sex",
    y = "Body Mass (g)",
    title = "Body Mass of Penguins by Sex"
  )
Warning: Removed 2 rows containing non-finite outside the scale range
(`stat_boxplot()`).

One Quantitative/Two Categorical Variables

Is there a difference in body_mass_g between sexes? Use facet_wrap() to modify the previous plot to compare the sexes separately for each species. Is the sex difference more or less clear now?

ggplot(penguins, aes(x = sex, y = body_mass_g)) +
  geom_boxplot() +
  facet_wrap(~ species) +
  labs(
    x = "Sex",
    y = "Body Mass (g)",
    title = "Body Mass of Penguins by Sex and Species"
  )
Warning: Removed 2 rows containing non-finite outside the scale range
(`stat_boxplot()`).

Two Quantitative Variables

Is there a relationship between flipper_length_mm and set the body_mass_g? Make a scatterplot of the two variables:

ggplot(penguins, aes(x = flipper_length_mm, y = body_mass_g)) +
  geom_point() +
  labs(
    x = "Flipper Length (mm)",
    y = "Body Mass (g)",
    title = "Body Mass vs Flipper Length"
  )
Warning: Removed 2 rows containing missing values or values outside the scale range
(`geom_point()`).

Now add species to the plot by using different colored points:

ggplot(penguins, aes(
  x = flipper_length_mm,
  y = body_mass_g,
  color = species
)) +
  geom_point() +
  labs(
    x = "Flipper Length (mm)",
    y = "Body Mass (g)",
    color = "Species",
    title = "Body Mass vs Flipper Length by Species"
  )
Warning: Removed 2 rows containing missing values or values outside the scale range
(`geom_point()`).

Now make the size of the points proportional to bill_depth_mm.

ggplot(penguins, aes(
  x = flipper_length_mm,
  y = body_mass_g,
  color = species,
  size = bill_depth_mm
)) +
  geom_point(alpha = 0.7) +
  labs(
    x = "Flipper Length (mm)",
    y = "Body Mass (g)",
    color = "Species",
    size = "Bill Depth (mm)",
    title = "Body Mass vs Flipper Length by Species and Bill Depth"
  )
Warning: Removed 2 rows containing missing values or values outside the scale range
(`geom_point()`).

What additional insight do you get from this? Adding bill depth shows that penguins with greater body mass and longer flippers also tend to have deeper bills. This provides additional insight into how multiple physical characteristics vary together across species.