Пример данных приведен ниже.
data <- data.frame(Name=c('John','John','John','Mary','Mary'),First_value=c(1,3,2,4,5),Second_value=c(3,4,2,7,5),To_sum=c(1,2,3,4,5))
# Name First_value Second_value To_sum
# John 1 3 1
# John 3 4 2
# John 2 2 3
# Mary 4 7 4
# Mary 5 5 5
Я хотел бы сначала сгруппировать по имени, и для каждой группы суммировать столбец 'To_sum' для всех других строк в группе (кроме текущей строки), если другой строки имеют «First_value» больше текущей строки AND и «Second_value» меньше текущей строки. Если для текущей строки нет суммируемых значений, новый столбец будет 0.
Новый столбец должен выглядеть следующим образом:
# Name First_value Second_value To_sum New_column
# John 1 3 1 3
# John 3 4 2 0
# John 2 2 3 0
# Mary 4 7 4 5
# Mary 5 5 5 0