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