Here is an example of my data set;
Date      Time(GMT)Depth Temp  Salinity Density Phosphate 24/06/2002  1000    1           33.855          0.01 24/06/2002  1000    45          33.827          0.01 01/07/2002  1000    10  13.26   33.104  24.873  0.06 01/07/2002  1000    30  12.01   33.787  25.646  0.13 08/07/2002  1000    5   13.34   33.609  25.248  0.01 08/07/2002  1000    40  12.01   34.258  26.011  1.33 15/07/2002  1000    30  12.04   34.507  26.199  0.01 22/07/2002  1000    5   13.93   33.792  25.269  0.01 22/07/2002  1000    30  11.9    34.438  26.172  0.08 29/07/2002  1000    5   13.23   34.09   25.642  0.01 I want to delete duplicate rows so that I only have one row per date, I want to do this based on the Depth, I would like to keep the row with the greatest (deepest) depth. Any ideas?
Lets say you have data in df
df = df[order(df[,'Date'],-df[,'Depth']),] df = df[!duplicated(df$Date),] Here's one way to do it in a single dplyr call:
# Remove any duplicates df <- df %>%   arrange(Date, -Depth) %>%   filter(duplicated(Date) == FALSE) If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With