Com o pacote naniar
, os passos acima são muito mais rápidos e fáceis de representar. O pacote também cria um ggplot
, permitindo as mesmas personalizações aprendidas anteriormente. Primeiro, usamos funções para exibir tabelas com a ajuda do naniar
. A primeira é a função miss_var_summary()
, que nos fornece a frequência absoluta e relativa de valores ausentes nas variáveis.
pss %>%
miss_var_summary()
## # A tibble: 14 × 3
## variable n_miss pct_miss
## <chr> <int> <num>
## 1 edu 352 7.04
## 2 agea 157 3.14
## 3 stfdem 95 1.9
## 4 trstprl 35 0.7
## 5 trstprt 17 0.34
## 6 trstlgl 12 0.24
## 7 trstplt 11 0.22
## 8 lrscale 7 0.14
## 9 stfeco 6 0.12
## 10 idno 0 0
## 11 district 0 0
## 12 gndr 0 0
## 13 wkhtot 0 0
## 14 income 0 0
Também podemos agrupar isso:
pss %>%
group_by(district) %>%
miss_var_summary()
## # A tibble: 65 × 4
## # Groups: district [5]
## district variable n_miss pct_miss
## <fct> <chr> <int> <num>
## 1 Distrikt 1 edu 30 3
## 2 Distrikt 1 stfdem 16 1.6
## 3 Distrikt 1 trstprl 8 0.8
## 4 Distrikt 1 trstprt 4 0.4
## 5 Distrikt 1 lrscale 2 0.2
## 6 Distrikt 1 trstlgl 1 0.1
## 7 Distrikt 1 idno 0 0
## 8 Distrikt 1 gndr 0 0
## 9 Distrikt 1 agea 0 0
## 10 Distrikt 1 wkhtot 0 0
## # ℹ 55 more rows
Podemos visualizar a distribuição de valores ausentes no conjunto de dados. A função gg_miss_var_cumsum()
nos fornece a soma cumulativa de valores ausentes por variável. Isso nos permite ver como os valores ausentes estão distribuídos nas variáveis.
gg_miss_var_cumsum(pss)
A função vis_miss()
visualiza os missings de um conjunto de dados completo (a menos que seja especificado). {/examples}
vis_miss(pss)
Outra alternativa interessante é a função gg_miss_upset()
do pacote naniar
. Aqui, as frequências das combinações de missings entre as variáveis também são exibidas. No entanto, isso pode ficar confuso em conjuntos de dados muito grandes. Para subconjuntos, no entanto, pode ser esclarecedor (por exemplo, se você quiser verificar se as pessoas responderam apenas partes de uma bateria de itens ou não responderam a bateria inteira).
gg_miss_upset(pss)
No gráfico, é possível ver que as quatro variáveis trstprt
, trtprl
, stfdem
e agea
têm missings. No total, as seguintes combinações são observadas:
edu
,agea
,stfdem
,trstprl
,trstprt
,stfdem
e edu
,agea
e edu
,trstprl
e edu
,stfdem
e agea
,trstprt
e edu
,trstprl
e stfdem
,trstprt
e agea
.Em geral, o número máximo de combinações é calculado da seguinte forma: \(2^{Número de Variáveis} - 1\). Neste caso, seriam 31 combinações possíveis, mas apenas 12 são exibidas. Por quê?
Além disso, os missings de duas variáveis também podem ser facilmente representados em um ggplot
usando a função geom_miss_point()
:
ggplot(
pss,
aes(
x = district,
y = agea
)
) +
geom_miss_point()
Dessa forma, é possível identificar facilmente se os missings se concentram em uma determinada combinação.
Como alternativa, também é possível utilizar as funções gg_miss_var()
e gg_miss_fct()
.
Com a função gg_miss_var()
, o número de missings é exibido. Com o argumento facet
, isso também pode ser desagregado por diferentes categorias. Assim, é possível verificar se um grupo apresenta significativamente mais missings do que outro grupo.
gg_miss_var(
pss,
facet = district
)
Com a função gg_miss_fct()
, os missings podem ser visualmente apresentados de forma muito atraente.
gg_miss_fct(
x = pss,
fct = district
)
Também é possível exibir isso por categorias em outra variável para ver se existem diferenças significativas entre os grupos:
gg_miss_fct(
x = pss,
fct = district
) +
labs(title = "NA in PSS nach Distrikt")
Isso é tudo sobre valores ausentes!