Les nouveautés dans l’utilisation de summarise
avec la version 1.0.0 de {dplyr} présentées par Romain François en vidéo.
Si vous n’avez pas pu assister au meetup Raddict Paris au sujet du package {dplyr} nous vous proposons ci-dessous son replay, ainsi que le code R utilisé par Romain pour sa démonstration (avec le code R qui permet de modifier le prompt de Rstudio 🙂 )
On y parle du package {dplyr} , de pingouins, des nouveautés de across
, de la gestion des groupes dans les summarise
…
Bon visionnage !
Notez que pour toutes les autres nouveautés de {dplyr}, vous pouvez lire notre article « Hey ! Quoi de neuf {dplyr} ? Le point sur la v1 ! »
Voici les différents codes utilisés lors de la présentation :
library(dplyr, warn.conflicts = FALSE)
library(palmerpenguins)
glimpse(penguins)
penguins %>%
group_by(species) %>%
summarise(
prob = c(.25, .75),
length = quantile(bill_length_mm, prob, na.rm = TRUE),
depth = quantile(bill_depth_mm, prob, na.rm = TRUE)
)
penguins %>%
group_by(species) %>%
summarise(
data.frame(
min = min(bill_length_mm, na.rm = TRUE),
max = max(bill_length_mm, na.rm = TRUE)
)
)
minmax <- function(x) { data.frame( min = min(x, na.rm = TRUE), max = max(x, na.rm = TRUE) ) } penguins %>%
group_by(species) %>%
summarise(
minmax(bill_length_mm)
)
penguins %>%
group_by(species) %>%
summarise(
broom::tidy(lm(bill_depth_mm ~ bill_length_mm))
)
penguins %>%
group_by(species) %>%
summarise(
across(starts_with("bill"), min, na.rm = TRUE)
)
penguins %>%
group_by(species) %>%
summarise(
across(starts_with("bill"),
list(min = min, max = max),
na.rm = TRUE
)
)
penguins %>%
group_by(species) %>%
summarise(
across(starts_with("bill"),
list(min = min, max = max), na.rm = TRUE,
.names = "{toupper(.fn)}_{.col}"
)
)
penguins %>%
group_by(species, island) %>%
summarise(.groups = "drop",
length = mean(bill_length_mm, na.rm = TRUE),
depth = mean(bill_depth_mm, na.rm = TRUE)
)
penguins %>%
group_by(species, island) %>%
summarise(.groups = "keep",
length = mean(bill_length_mm, na.rm = TRUE),
depth = mean(bill_depth_mm, na.rm = TRUE)
)
penguins %>%
group_by(species, island) %>%
summarise(.groups = "drop_last",
length = mean(bill_length_mm, na.rm = TRUE),
depth = mean(bill_depth_mm, na.rm = TRUE)
)
penguins %>%
group_by(species) %>%
summarise_if(is.numeric, min, na.rm = TRUE)
penguins %>%
group_by(species) %>%
summarise(
across(where(is.numeric), min, na.rm = TRUE)
)
penguins %>%
group_by(species) %>%
summarise(
across(where(is.numeric), min, na.rm = TRUE)
)