Could anyone explain the behavior below?
df <- data.frame(dog = 1:5)
colnames(df) <- "cat" # This works
colnames( get('df') ) <- "cat" # error
colnames( eval(parse(text='df')) ) <- "cat" # error
The error is
Error in colnames(get("df")) <- "cat" :
target of assignment expands to non-language object