I'd like to use the output of the glue function as an R object, but it only works as character.
Example: if I try this -
as.factor((
str_glue("iris$`{colnames(iris[5])}`")
))
The result is this:
[1] iris$`Species`
Levels: iris$`Species`
But I want this:
as.factor(iris$`Species`)
[1] setosa setosa setosa setosa setosa setosa setosa setosa setosa
...
[145] virginica virginica virginica virginica virginica virginica
Levels: setosa versicolor virginica
Use eval
and parse
or parse_expr
:
my_str <- str_glue("iris$`{colnames(iris[5])}`") # glue object
class(my_str)
[1] "glue" "character"
eval(parse_expr(my_str)) %>% as.factor
[1] setosa setosa setosa setosa setosa setosa setosa setosa setosa
...
[145] virginica virginica virginica virginica virginica virginica
Levels: setosa versicolor virginica