Filling missing rows in a data table / frame

Indeed, that is correct. It's just presenting the results in a sorted way, as specified with arrange(). The ordering of the column variables, with select() is done to reflect the same ordering as the input data.