It appears that if you pass eval
a vector of expressions, it only returns the last result. I'm not sure why that is the desired behavior, but that is how it is documented on the ?eval
help page:
(The function returns) The result of evaluating the object: for an expression vector this is the result of evaluating the last element.
So you can get around this with a friendly sapply
statement.
sapply(df$Col1, function(x) eval(parse(text=x)))
And that should give you the vector of results you were expecting.