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.
data_1 <- tibble(x=1:3,y=2:4,z=3:5)
data_2 <- tibble(x=1:4,w=5:8)
full_join(data_1,data_2)
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()).