2017-06-12 1 views
2

Ich habe einen großen Datenrahmen (≈ 2M Beobachtungen), die viele Duplikate haben. Ich werde diese Duplikate löschen, aber ich muss die nicht-duplizierten Werte als bedingt auf einen anderen Wert, der nicht fehlt (NA), behalten. Es kann jeden erdenklichen Wert annehmen, solange es eine Nicht-NA gibt. Zum Beispiel:Gruppe nach nicht fehlenden Werten Dplyr

data <- airquality 
data[4:10,3] <- rep(NA,7) 
data[1:5,4] <- NA 

library(dplyr) 

new.data <- data %>% 
    group_by(Ozone) %>% 
    filter(Wind==????)) 

Hier können Sie sehen, ich bin nicht sicher, was nach der gefiltert werden, wie durch den kommentierten „== Wind ????“. Solange ein Wert (numerisch oder nominal) in der Spalte Wind ist, möchte ich diese eindeutigen Werte beibehalten und gleichzeitig die bedingten Werte für nicht fehlende Werte löschen.

Vielen Dank!

+3

Wollen Sie 'data%>% group_by (Ozon)%>% Filter (! Dupliziert (Wind) &! Is.na (Wind))' – akrun

+0

Vielen Dank für Ihre Hilfe – Starbucks

Antwort

2

können wir tun

data %>% 
    group_by(Ozone) %>% 
    filter(!duplicated(Wind) & !is.na(Wind)) 
Verwandte Themen