Remover linhas com todas ou algumas NAs (valores em falta) no data.frame
I'gostaria de remover as linhas neste quadro de dados que:
a) contenha NA
s em todas as colunas. Abaixo está o meu quadro de dados de exemplo.
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
Basicamente, I'gostaria de obter um quadro de dados como o seguinte.
gene hsap mmul mmus rnor cfam
2 ENSG00000199674 0 2 2 2 2
6 ENSG00000221312 0 1 2 3 2
b) contenha NA
s apenas em algumas colunas, para que eu também possa obter este resultado:
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
Verifique também
complete.cases
:"na.omit" é mais agradável por apenas remover todos os "NAs". O `complete.cases' permite a seleção parcial, incluindo apenas certas colunas do quadro de dados:
A sua solução não pode funcionar. Se você insiste em utilizar o
is.na
, então você tem que fazer algo como:mas utilizar `complete.cases' é muito mais claro, e mais rápido.
Tente
na.omit(your.data.frame)
. Quanto à segunda pergunta, tente lançá-la como outra pergunta (para maior clareza).Prefiro a seguinte forma de verificar se as filas contêm alguma AN: