у меня 3 столбца. C1 и C2 сгруппированы по C0. Теперь я хочу извлечь значение C3 там, где оно удовлетворяет, когда C1 максимально в каждой группе C0.
df = data.frame(C0 = c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3),
C1 = c(0,2,3,6,2,0,0,4,9,7,1,2,7,4,2),
C2 = c("A","B", "C", "D", "E","A","B", "C", "D", "E","A","B", "C", "D", "E"))
Теперь я хочу добавить новый столбец C4, который является значением C2, где соответствующий C1 достигает максимум в каждой группе C0. Теперь я могу только извлечь значение максимального C1, что-то вроде этого
df %>% group_by(C0) %>% mutate (C4 = max(C1))
Но этот код возвращается, поскольку C4 - это значение максимального значения C1 в каждой группе C0. Я не знаю, как извлечь соответствующее значение C2. Кроме того, я не хочу просто извлечь строку максимального значения, но добавить новый столбец. Вот так (поскольку мне не разрешено прикреплять фигуру, я использую код для объяснения идеи:
df = data.frame(C0 = c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3),
C1 = c(0,2,3,6,2,0,0,4,9,7,1,2,7,4,2),
C2 = c("A","B", "C", "D", "E","A","B", "C", "D", "E","A","B", "C", "D", "E"),
C4 = c("D","D","D","D","D","D","D","D","D","D","C","C","C","C","C"))
Большое спасибо за помощь!