После группировки «Gill» подмножество «Время», где «Diametre» не равно 0 и получает значение max (если «время» - numeric класс)
max
numeric
library(dplyr) df1 %>% group_by(Gill) %>% summarise(Time = max(Time[Diametre != 0]))