penguins <- readr::read_csv("penguins.csv")
## Rows: 344 Columns: 8
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (3): species, island, sex
## dbl (5): bill_length_mm, bill_depth_mm, flipper_length_mm, body_mass_g, year
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
data_small <- penguins %>%
select(species,bill_length_mm, body_mass_g) %>%
filter(species %in% c("Adelie", "Gentoo"))
penguins_long2 <- penguins %>%
pivot_longer(cols = c(bill_length_mm, bill_depth_mm,
flipper_length_mm, body_mass_g),
names_to = "measurement",
values_to = "value")
penguins_long2 %>%
pivot_wider(names_from = measurement,
values_from = value)
## Warning: Values from `value` are not uniquely identified; output will contain list-cols.
## • Use `values_fn = list` to suppress this warning.
## • Use `values_fn = {summary_fun}` to summarise duplicates.
## • Use the following dplyr code to identify duplicates.
## {data} |>
## dplyr::summarise(n = dplyr::n(), .by = c(species, island, sex, year,
## measurement)) |>
## dplyr::filter(n > 1L)
## # A tibble: 35 × 8
## species island sex year bill_length_mm bill_depth_mm flipper_length_mm
## <chr> <chr> <chr> <dbl> <list> <list> <list>
## 1 Adelie Torgersen male 2007 <dbl [7]> <dbl [7]> <dbl [7]>
## 2 Adelie Torgersen female 2007 <dbl [8]> <dbl [8]> <dbl [8]>
## 3 Adelie Torgersen <NA> 2007 <dbl [5]> <dbl [5]> <dbl [5]>
## 4 Adelie Biscoe female 2007 <dbl [5]> <dbl [5]> <dbl [5]>
## 5 Adelie Biscoe male 2007 <dbl [5]> <dbl [5]> <dbl [5]>
## 6 Adelie Dream female 2007 <dbl [9]> <dbl [9]> <dbl [9]>
## 7 Adelie Dream male 2007 <dbl [10]> <dbl [10]> <dbl [10]>
## 8 Adelie Dream <NA> 2007 <dbl [1]> <dbl [1]> <dbl [1]>
## 9 Adelie Biscoe female 2008 <dbl [9]> <dbl [9]> <dbl [9]>
## 10 Adelie Biscoe male 2008 <dbl [9]> <dbl [9]> <dbl [9]>
## # ℹ 25 more rows
## # ℹ 1 more variable: body_mass_g <list>
penguins_long <- penguins %>%
pivot_longer(cols = c(bill_length_mm, bill_depth_mm, flipper_length_mm, body_mass_g),
names_to = "measurement",
values_to = "value"
)
penguins_united <- penguins %>%
unite(col = "species_island", species, island, sep = "/", remove = FALSE)
penguins_united %>% select(species, island, species_island)
## # A tibble: 344 × 3
## species island species_island
## <chr> <chr> <chr>
## 1 Adelie Torgersen Adelie/Torgersen
## 2 Adelie Torgersen Adelie/Torgersen
## 3 Adelie Torgersen Adelie/Torgersen
## 4 Adelie Torgersen Adelie/Torgersen
## 5 Adelie Torgersen Adelie/Torgersen
## 6 Adelie Torgersen Adelie/Torgersen
## 7 Adelie Torgersen Adelie/Torgersen
## 8 Adelie Torgersen Adelie/Torgersen
## 9 Adelie Torgersen Adelie/Torgersen
## 10 Adelie Torgersen Adelie/Torgersen
## # ℹ 334 more rows
penguins_sep <- penguins_united %>%
select(-species, -island) %>%
separate(col = species_island, into = c("species", "island"), sep = "/")
penguins_sep %>% select(species, island)
## # A tibble: 344 × 2
## species island
## <chr> <chr>
## 1 Adelie Torgersen
## 2 Adelie Torgersen
## 3 Adelie Torgersen
## 4 Adelie Torgersen
## 5 Adelie Torgersen
## 6 Adelie Torgersen
## 7 Adelie Torgersen
## 8 Adelie Torgersen
## 9 Adelie Torgersen
## 10 Adelie Torgersen
## # ℹ 334 more rows