full_join() will look at the names of the variables in x and y to see where they overlap. It will then, by default, try to merge based on the overlapping variables.
The above will try to join on x since that is the only variable that bot datasets have in common. Have a look at what variables are in eyedata. Based on this error, I'd say that none of them match the dataset being piped into full_join()(i.e. the one passed through mutate() and rename()).