Różnica między dużą liczbą rzędów

Mam macierz z bardzo dużą liczbą wierszy i tylko dwiema sparowanymi kolumnami. Chcę obliczyć różnice między poszczególnymi wierszami w kolumnie 1 i jeśli różnica jest mniejsza niż predefiniowana wartość (0,001), a następnie obliczyć średnią tych wierszy w obu kolumnach. Na przykład mam matrycę o nazwie wagi,

  A      B
185.0765 10
185.3171 20
186.0777 30
186.0780 40
188.0078 50

weights<-as.data.table(weights)
bins<-weights[A %between% c(A[3],(A[3]+.001))]
meanA<-mean(bins$A)
meanB<-mean(bins$B)

a wynikowa macierz będzie,

  A      B
185.0765 10
185.3171 20
186.0779 35
188.0078 50

Byłbym wdzięczny, gdyby ktoś mógł mi doradzić, jak to zrobić dla dużej liczby wierszy. Myślę, że użycie pętli for nie byłoby bardzo wydajne.

questionAnswers(1)

yourAnswerToTheQuestion