Error: must be character, not glue/character when using glue() inside case_when

Viewed 777

I'm using the glue package to generate dynamic text in a report. When I use dplyr::case_when to switch between conditions, I get an error from glue.

library(dplyr); library(glue)
one_car <- mtcars[10, ]

# Throws error:
answer <- case_when(
  one_car$mpg < 25 ~ glue(row.names(one_car), " has bad mileage"),
  one_car$mpg >= 25 ~ glue(row.names(one_car), " has good mileage")  
)

Error: must be character, not glue/character

The case_when works without glue:

answer <- case_when(
  one_car$mpg < 25 ~ 0,
  one_car$mpg >= 25 ~ 1  
)

And the glue works when run alone:

glue(row.names(one_car), " has bad mileage")
#> Merc 280 has bad mileage
1 Answers
Related