Como remover linhas em branco do quadro de dados em r


Você pode usar os seguintes métodos para remover linhas em branco de um quadro de dados em R:

Método 1: Remover linhas com NA em todas as colunas

 df[rowSums(is. na (df)) != ncol(df), ]

Método 2: Remover linhas com NA em pelo menos uma coluna

 df[complete. boxes (df), ]

Os exemplos a seguir mostram como usar cada método na prática.

Exemplo 1: Excluir linhas com NA em todas as colunas

Suponha que temos o seguinte quadro de dados em R:

 #create data frame
df <- data. frame (x=c(3, 4, NA, 6, 8, NA),
                 y=c(NA, 5, NA, 2, 2, 5),
                 z=c(1, 2, NA, 6, 8, NA))

#view data frame
df

   X Y Z
1 3 NA 1
2 4 5 2
3 NA NA NA
4 6 2 6
5 8 2 8
6 NA 5 NA

Podemos usar o seguinte código para remover linhas do quadro de dados que possuem valores NA em cada coluna:

 #remove rows with NA in all columns
df[rowSums(is. na (df)) != ncol(df), ]

   X Y Z
1 3 NA 1
2 4 5 2
4 6 2 6
5 8 2 8
6 NA 5 NA

Observe que a linha contendo os valores NA em cada coluna foi removida.

Exemplo 2: Excluir linhas com NA em pelo menos uma coluna

Vamos supor novamente que temos o seguinte quadro de dados em R:

 #create data frame
df <- data. frame (x=c(3, 4, NA, 6, 8, NA),
                 y=c(NA, 5, NA, 2, 2, 5),
                 z=c(1, 2, NA, 6, 8, NA))

#view data frame
df

   X Y Z
1 3 NA 1
2 4 5 2
3 NA NA NA
4 6 2 6
5 8 2 8
6 NA 5 NA

Podemos usar o código a seguir para remover linhas do quadro de dados que possuem valores NA em pelo menos uma coluna:

 #remove rows with NA in at least one column
df[complete. boxes (df), ]

  X Y Z
2 4 5 2
4 6 2 6
5 8 2 8

Observe que todas as linhas com valor NA em pelo menos uma coluna foram removidas.

Relacionado: Como usar complete.cases em R (com exemplos)

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como criar um quadro de dados vazio em R
Como criar uma lista vazia em R
Como criar um vetor vazio em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *