If row names are not defined in df (or they are simple numbers), then the row names are taken from the column
label_name, if it exists. If label_name exists, then it is also removed from the original data. This behavior
is compatible with as_result_df(), when as_is = TRUE and the row names are not unique.