bjeto soma em uma coluna entre um intervalo definido por outra colu

Tenho um quadro de dados como este:

  df
       A B
 [1,]  1 4
 [2,]  2 3
 [3,]  3 5
 [4,]  4 7
 [5,]  5 5
 [6,]  6 7
 [7,]  7 4
 [8,]  8 7
 [9,]  9 3
[10,] 10 7

Preciso somar os números na coluna B que se situam entre um determinado intervalo definido pela coluna A. Por exemplo, somar o valor em B entre A≥1 e A <3.

Estou tentando usar isso:

> sum(which(df$B[df$A>=1] & df$B[df$A<3]))

mas não me dá o que quero.

questionAnswers(2)

yourAnswerToTheQuestion