R - Teilmengenspalte basierend auf der Bedingung für doppelte Zeilen
Ich habe einen Datenrahmen mit einer ID-Spalte, die mit Standortzählungen wiederholt wird. Ich möchte wissen, wie ich die doppelten ID-Datensätze nur entfernen kann, wenn der Site_Count-Datensatz größer als 0 ist.
Generate DF:
DF <- data.frame(
'ID' = sample(100:300, 100, replace=T),
'Site_count' = sample(0:1, 100, replace=T)
)
Mein Versuch an der Teilmenge:
subset(DF[!duplicated(DF$ID),], site_count > 0)
Aber in diesem Fall werden alle 0 Site-Zählungen entfernt. Ich möchte diese Teilmenge nur dann entfernen, wenn es einen doppelten Datensatz mit mehr als 0 Site-Zählungen gibt.
Wünschenswerte Ergebnisse sehen ungefähr so aus (beachten Sie, dass Site-IDs mit 0 Site-Anzahl, aber keine doppelten IDs mit 0 und einer anderen Site-Anzahl vorhanden sind):
ID site count
-- ----------
1 0
2 1
3 1
4 0
5 5