Я получил ответ:
В данных есть пользователи, которые оценивали одно и то же пиво более одного раза (дважды / трижды ... и т. Д.). Поэтому RecommenderLabs при принудительном приведении данных в realRatingMatrix добавляет рейтинг таких строк, и поэтому значение оценок больше 5, а длина getRatings меньше nrow of beer_data.
например. образец beer_data
beer_beerid, review_profilename, review_overall
19667, 57мд, 3,5
19667, 57 мин, 4,0
поэтому в realRatingMatrix для user = "57md" и item = "19667" рейтинг = 3,5 + 4 = 7,5, а в realRatingMatrix сокращается 1 строка.
И по той же причине неуникальная комбинация beer_beerid и рейтинга, полученного вместе, вызывает несоответствие количества оценок в обоих объектах, в dataframe и realRatingMatrix.