Try using aggregate
:
#Example data
df <- data.frame(ID1 = round(runif(100,1,10)), ID2 = round(runif(100,1,10)), Points = round(runif(100, 1,50)))
aggregate(Points ~ ID1 + ID2, df, mean)
# ID1 ID2 Points
# 1 2 1 12
# 2 5 1 31
# 3 7 1 48
# 4 10 1 3
# 5 1 2 20