Hier ist ein Dummy-Daten:dplyr Filter mit Bedingung auf mehrere Spalten
father<- c(1, 1, 1, 1, 1)
mother<- c(1, 1, 1, NA, NA)
children <- c(NA, NA, 2, 5, 2)
cousins <- c(NA, 5, 1, 1, 4)
dataset <- data.frame(father, mother, children, cousins)
dataset
father mother children cousins
1 1 NA NA
1 1 NA 5
1 1 2 1
1 NA 5 1
1 NA 2 4
, was ich will:
father mother children cousins
1 1 NA NA
ich tun kann, es mit:
test <- dataset %>%
filter(father==1 & mother==1) %>%
filter (is.na(children)) %>%
filter (is.na(cousins))
test
Meine Frage: Ich habe viele Spalten wie Großvater Onkel1, Onkel2, Onkel3 und ich möchte etwas wie das vermeiden:
filter (is.na(children)) %>%
filter (is.na(cousins)) %>%
filter (is.na(uncle1)) %>%
filter (is.na(uncle2)) %>%
filter (is.na(uncle3))
and so on...
Ich kann ich verwenden dplyr Filter zu sagen, die ganze Spalte mit na (außer Vater == 1 & Mutter == 1)
ich gemacht Korrektur – Wilcar
IMO sollten Sie Ihre Daten zu lange konvertieren Format (http://stackoverflow.com/questions/2185252/reshaping-data-frame-from-wide-to-long-format) –
Mögliches Duplikat von http://StackOverflow.com/Questions/7381455/Filtering-a- Data-Frame-by-Werte-in-einer-Spalte – akrun