Como executar listwise delete em r (com exemplo)


A exclusão listwise é um método que exclui todas as linhas em um quadro de dados que possuem um valor ausente em uma coluna.

A maneira mais fácil de realizar a exclusão listwise em R é usar a seguinte sintaxe:

 complete_df <- df[complete. boxes (df), ]

Esta sintaxe usa a função complete.cases() para criar um novo quadro de dados que contém apenas as linhas de um quadro de dados original que não possui valores ausentes em nenhuma coluna.

O exemplo a seguir mostra como usar esta função na prática.

Exemplo: Execute a exclusão listwise em R

Suponha que temos o seguinte quadro de dados em R que contém informações sobre vários jogadores de basquete:

 #create data frame
df <- data. frame (rating=c(70, 75, 75, 78, 81, 85, 89, 91, 94, 97),
                 points=c(12, 15, 14, 13, NA, 29, 24, 18, 20, 25),
                 assists=c(9, 5, NA, 5, 7, 8, 11, 12, 13, 11))

#view data frame
df

   rating points assists
1 70 12 9
2 75 15 5
3 75 14 NA
4 78 13 5
5 81 NA 7
6 85 29 8
7 89 24 11
8 91 18 12
9 94 20 13
10 97 25 11

Observe que duas linhas contêm valores NA em algumas colunas.

Podemos usar a seguinte sintaxe para realizar uma exclusão listwise e manter apenas as linhas que não possuem valores ausentes em nenhuma coluna:

 #create new data frame that only contains rows with no missing values
complete_df <- df[complete. boxes (df), ]

#view new data frame
complete_df

   rating points assists
1 70 12 9
2 75 15 5
4 78 13 5
6 85 29 8
7 89 24 11
8 91 18 12
9 94 20 13
10 97 25 11

Observe que nenhuma das linhas neste novo quadro de dados possui valores vazios em nenhuma coluna.

Observe também que poderíamos usar a função nrow() para determinar quantas linhas no quadro de dados original tinham valores ausentes em qualquer coluna:

 #count how many rows have missing values in any column
nrow(df[ ! complete. cases (df), ])

[1] 2

Isso nos diz que 2 linhas no quadro de dados original tinham valores ausentes em pelo menos uma coluna.

E podemos contar com a mesma facilidade quantas linhas não tinham valores faltantes em nenhuma coluna:

 #count how many rows do not have missing values in any column
nrow(df[complete. cases (df), ])

[1] 8

Isso nos diz que 8 linhas do quadro de dados original não tinham valores ausentes em nenhuma coluna.

Recursos adicionais

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

Como encontrar e contar valores ausentes em R
Como interpolar valores ausentes em R

Add a Comment

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