I've been told that it is a bad habit to parse and evaluate a character string
to_run = "for (i in 1:10){print(i);print('Hello World!')}"
eval(parse(text=to_run))
Why is it a bad habit?
It seems to me to be quite a flexible way of programming as we can construct our code in a iterative manner by pasting character strings together. For example it allows to easily deal with objects of various dimensions for example.
if (length(dim(my.array)) == 2){to_run = "A = my.array[1,]"}
if (length(dim(my.array)) == 3){to_run = "A = my.array[1,,]"}
eval(parse(text=to_run))