Como excluir linhas de um quadro de dados que contém n * NA
Eu tenho vários conjuntos de dados grandes com ~ 10 colunas e ~ 200000 linhas. Nem todas as colunas contêm valores para cada linha, embora pelo menos uma coluna deva conter um valor para a linha estar presente, eu gostaria de definir um limite para quantasNA
s são permitidos em uma linha.
Meu Dataframe é mais ou menos assim:
ID q r s t u v w x y z
A 1 5 NA 3 8 9 NA 8 6 4
B 5 NA 4 6 1 9 7 4 9 3
C NA 9 4 NA 4 8 4 NA 5 NA
D 2 2 6 8 4 NA 3 7 1 32
E eu gostaria de poder excluir as linhas que contêm mais de 2 células contendo NA para obter
ID q r s t u v w x y z
A 1 5 NA 3 8 9 NA 8 6 4
B 5 NA 4 6 1 9 7 4 9 3
D 2 2 6 8 4 NA 3 7 1 32
complete.cases
remove todas as linhas que contêm qualquerNA
e sei que é possível excluir linhas que contêmNA
em determinadas colunas, mas existe uma maneira de modificá-lo para que não seja específico sobre quais colunas contêmNA
, mas quantos do total fazem?
Como alternativa, esse quadro de dados é gerado mesclando vários quadros de dados usando
file1<-read.delim("~/file1.txt")
file2<-read.delim(file=args[1])
file1<-merge(file1,file2,by="chr.pos",all=TRUE)
Talvez a função de mesclagem possa ser alterada?
obrigado