Verwijder rijen met alle of enkele NAs (ontbrekende waarden) in data.frame
Ik wil graag de lijnen in dit dataframe verwijderen die:
a) alle kolommen NA
bevatten. Hieronder staat mijn voorbeeld-dataframe.
gene hsap mmul mmus rnor cfam
1 ENSG00000208234 0 NA NA NA NA
2 ENSG00000199674 0 2 2 2 2
3 ENSG00000221622 0 NA NA NA NA
4 ENSG00000207604 0 NA NA 1 2
5 ENSG00000207431 0 NA NA NA NA
6 ENSG00000221312 0 1 2 3 2
In principe zou ik graag een dataframe krijgen zoals het volgende.
gene hsap mmul mmus rnor cfam
2 ENSG00000199674 0 2 2 2 2
6 ENSG00000221312 0 1 2 3 2
b) bevatten NA
s in slechts enkele kolommen, zodat ik ook dit resultaat kan krijgen:
gene hsap mmul mmus rnor cfam
2 ENSG00000199674 0 2 2 2 2
4 ENSG00000207604 0 NA NA 1 2
6 ENSG00000221312 0 1 2 3 2
785
3
Controleer ook
complete.cases
:na.omit
is mooier om gewoon alleNA
's te verwijderen.complete.cases
maakt gedeeltelijke selectie mogelijk door alleen bepaalde kolommen van het dataframe op te nemen:Uw oplossing kan'niet werken. Als je erop staat om
is.na
te gebruiken, dan moet je iets doen als:maar
complete.cases
gebruiken is een stuk duidelijker, en sneller.Probeer
na.omit(uw.data.frame)
. Wat betreft de tweede vraag, probeer het te posten als een andere vraag (voor de duidelijkheid).Ik geef de voorkeur aan de volgende manier om te controleren of rijen geen NA's bevatten: