У меня есть DataFrame DF, который имеет следующие данные; около 300000 строкУмножить строки в 2 столбцах, группируя помеченные строки в R
<DF
A B C
1 2 0
2 5 0
4 5 2
4 7 0
7 8 0
9 7 -2
2 5 0
4 7 0
5 1 2
4 7 0
7 8 0
9 7 -2
2 5 0
4 7 0
5 1 2
Я хочу, чтобы выполнить математическую операцию по набору данных со следующей логикой
Select all rows till first occurrence of 2 in C(ignoring -2 in the middle)
Compute avg of all these of (A*B) and add it column D (Implying all these rows in column D will have the same value)
Select all rows from first occurrence of 2 till the second occurrence
Compute avg of (A*B) for these rows and add it column D
... Do the same till
Select all rows from last occurrence of 2 till the second last occurrence
Compute avg of (A*B) for these rows and add it column D
Результат должен выглядеть
<Result
A B C D
1 2 0 6
2 5 0 6
4 5 2 34.16667
4 7 0 34.16667
7 8 0 34.16667
9 7 -2 34.16667
2 5 0 34.16667
4 7 0 34.16667
5 1 2 27.85714
4 7 0 27.85714
7 8 0 27.85714
9 7 -2 27.85714
2 5 0 27.85714
4 7 0 27.85714
5 1 2 NA
Как реализовать эту логику в Р? Заранее спасибо!
Добро пожаловать в СО, пожалуйста, будьте немного более конкретными, задавая вопрос: что вы пробовали, чего вы ожидаете и т. Д. См. [Как спросить] (http://stackoverflow.com/help/how -to-ask) – Nehal
Всегда, попробуйте включить воспроизводимый пример .. – Prradep