Oblicz średnią według grupy

Mam dużą ramkę danych podobną do tej:

df <- data.frame(dive=factor(sample(c("dive1","dive2"),10,replace=TRUE)),speed=runif(10))
> df
    dive      speed
1  dive1 0.80668490
2  dive1 0.53349584
3  dive2 0.07571784
4  dive2 0.39518628
5  dive1 0.84557955
6  dive1 0.69121443
7  dive1 0.38124950
8  dive2 0.22536126
9  dive1 0.04704750
10 dive2 0.93561651

Moim celem jest uśrednienie wartości jednej kolumny, gdy inna kolumna jest równa pewnej wartości i powtórz to dla wszystkich wartości. tj. w powyższym przykładzie chciałbym zwrócić średnią dla kolumnyspeed dla każdej unikalnej wartości kolumnydive. Więc kiedydive==dive1, średnia dlaspeed jest to i tak dalej dla każdej wartościdive.

questionAnswers(3)

yourAnswerToTheQuestion