I am having a data frame 

```
df <- data.frame(
  "Class" = c('Class 8','Class 9','Class 10','Class 8','Class 9','Class 10','Class 8','Class 9','Class 10'),
  "Status" = c('Good','Good','Good','Better','Better','Better','Best','Best','Best'),
  "Percentage" = c(4,4,6,14,13,15,83,81,78),
  stringsAsFactors = FALSE
)

```

I am having a vector describing the order of Status within each group.

```
ratingOrder <<- c('Good','Better','Best')

```

I am trying to arrange the Status for each Class as given in the vector. 

This is the expected output

```
     Class Status Percentage
1  Class 8   Good          4
2  Class 8 Better          4
3  Class 8   Best          6
4  Class 9   Good         14
5  Class 9 Better         13
6  Class 9   Best         15
7  Class 10  Good         83
8  Class 10 Better         81
9  Class 10  Best         78

```

Can anyone give a suitable solution to achieve this?

Thanks in advance!!