I use several mutate on the same column. How can we only use mutate once and without repeating the column name?
df <- data.frame(
c1 = c("Élève", "Café", "Château", "Noël", "Crème")
)
df2 <- df %>%
mutate(c1 = trimws(c1)) %>%
mutate(c1 = gsub("\\s+", " ", c1)) %>%
mutate(c1 = gsub("\"", "", c1)) %>%
mutate(c1 = iconv(toupper(c1), to = "ASCII//TRANSLIT"))
Place the pipeline within the mutate
like this:
df3 <- df %>%
mutate(c1 = c1 %>%
trimws %>%
gsub("\\s+", " ", .) %>%
gsub("\"", "", .) %>%
toupper %>%
iconv(to = "ASCII//TRANSLIT"))
identical(df2, df3)
## [1] TRUE
or
df4 <- df %>%
reframe(across(c1, . %>%
trimws %>%
gsub("\\s+", " ", .) %>%
gsub("\"", "", .) %>%
toupper %>%
iconv(to = "ASCII//TRANSLIT")))
identical(df2, df4)
## [1] TRUE