Substituir dados ausentes - I
Como você descobriu no exercício anterior, seus dados trimestrais de PIB parecem estar com várias observações faltando. Na verdade, sua chamada a summary() no exercício anterior revelou 80 pontos de dados ausentes!
Como você deve lembrar do primeiro curso de xts, xts e zoo oferecem várias funções para lidar com dados ausentes.
A técnica mais simples é o comando na.locf(), que leva adiante a última observação antes do valor ausente (daí, "last observation carried forward", ou locf). Essa abordagem costuma ser a mais apropriada para tratar a ausência de dados, especialmente quando você prefere ser conservador(a) em relação ao crescimento nos seus dados.
Uma abordagem similar funciona na direção oposta, pegando a primeira observação após o valor ausente e levando-a para trás ("next observation carried backward", ou nocb). Essa técnica também pode ser feita com o comando na.locf() definindo o argumento fromLast como TRUE.
Qual método é melhor depende do tipo de dado com que você está trabalhando e das suas expectativas sobre como os dados mudam ao longo do tempo.
Este exercício faz parte do curso
Estudo de Caso: Analisando Séries Temporais de Cidades em R
Instruções do exercício
- Use
na.locf()para preencher os valores ausentes emgdp_xtscom base na última observação levada adiante. Salve esse novo objeto xts comogdp_locf. - Use outra chamada a
na.locf()para preencher os valores ausentes emgdp_xtscom base na próxima observação levada para trás. Para isso, defina o argumentofromLastcomoTRUE. Salve esse novo objeto xts comogdp_nocb. - Plote cada um desses objetos usando
plot.xts(). Inclua o comandopar()já fornecido para exibir ambos os gráficos juntos. - Consulte cada objeto (
gdp_locfegdp_nocb) para o PIB em 1993.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Fill NAs in gdp_xts with the last observation carried forward
gdp_locf <-
# Fill NAs in gdp_xts with the next observation carried backward
gdp_nocb <-
# Produce a plot for each of your new xts objects
par(mfrow = c(2,1))
plot.xts(___, major.format = "%Y")
plot.xts(___, major.format = "%Y")
# Query for GDP in 1993 in both gdp_locf and gdp_nocb