Some time ago they introduced a nice SQL-like alternative to ifelse within dplyr, i.e. case_when.
Is there an equivalent in data.table that would allow you to specify different conditions within one [] statement, without loading additional packages?
Example:
library(dplyr)
df <- data.frame(a = c("a", "b", "a"), b = c("b", "a", "a"))
df <- df %>% mutate(
new = case_when(
a == "a" & b == "b" ~ "c",
a == "b" & b == "a" ~ "d",
TRUE ~ "e")
)
a b new
1 a b c
2 b a d
3 a a e
It would certainly be very helpful and make code much more readable (one of the reasons why I keep using dplyr in these cases).
Aucun commentaire:
Enregistrer un commentaire