The command
mutate(frame, index = row_number())
fails if nrow(frame) == 0:
mutate(data.frame(a = numeric(0)), index = row_number())
## Error: upper value must be greater than lower value
mutate(data.frame(a = 1), index = row_number())
## a index
## 1 1 1