I have a data frame in which one column consists of unique factors. I want to sort this data frame by a predefined order of factor levels, independend of the original order.
For example my data looks like this:
label <- c('tree','lake','house', 'human')
number <- c(50,1,2,5)
df <- data.frame(
group = label,
value = number)
category_order <- category_order = c('tree','house','lake','human')
where df has the form
group number
1 tree 50
2 lake 1
3 house 2
4 human 5
but I would like it to be sorted in like category_oder so df_new looks like:
group number
1 tree 50
2 house 2
3 lake 1
4 human 5
I know know that in this case I could just swap the second and third row, but in general I don't know in which order the facors will be in the data frame and I couldn't find a way to do this without having strong restrictions about what factors I can use and the order in which they shoud be in the end. (for example alphabetical order)