Mean displaying same number for every carrier (nycflights13) in dataframe

I'm working with the dataset below:

enter image description here

With this data set (flights from nycflights13), I need to be able to create a data frame in which the first column displays all of the unique Carriers, and a second column that shows the mean time for each carrier.

In addition, it has to be in descending order, with only the longest 5 results showing.

This is what I have so far:

flt <-  flights

Question1 <-  data.frame( 
carriers = unique(flt$carrier) , 
Mean = mean((flt$arr_time - flt$dep_time)/60, na.rm = TRUE)


This gives me the Carriers, but it just displays one number as the mean for all of them.

I have no idea where to go from here.