J'ai un dataframe de cinq colonnes
Code : Tout sélectionner
data1 <- data.frame(distance <- rbind(2,2,9,2,2,9,9,4,7,9),
profondeur <-rbind(2.9,5.8,0.3,4.3,3.1,0.5,4.3,1.2,3.7,6.9),
valeur <- rbind(14,NA,17,45,26,59,22,0.4,4.5,NA),
elevation <- rbind(1,0.2,7,5,6,0.9,2.2,0.2,4.1,NA),
cote <- rbind(4,NA,7,5,6,5,2,0.1,1.5,0.2)
)
colnames(data1)<- c("distance","profondeur","valeur","elevation","cote")
data1
Je construit un autre dataframe avec trois conditions : Je veux la valeur maximale de profondeur (colonne 2) pour chaque distance différente (colonne 1) pour laquelle j'ai une "valeur" valide (3eme colonne) qui soit différente de NA.
Une des solutions pour le faire est un "pipeline"
Code : Tout sélectionner
df<-data1 %>% filter(!is.na(valeur)) %>% group_by(distance) %>% summarise(prof_max=max(profondeur))
Cependant je voudrai garder dans le résultat "df" les valeurs des autres colonnes, pas seulement "distance" et "prof_max". J'ai bien vu un ".keepall " qui s'utilise avec la fonction "distinct", j'ai essayé d'autres combinaisons mais je bloque...
Si vous avez une suggestion svp