Alinhar séries ao primeiro e ao último dia do mês
Às vezes, você pode não conseguir usar classes convenientes como yearmon para representar timestamps. Este exercício vai mostrar como alinhar manualmente dados mesclados à representação de tempo que você preferir.
Primeiro, você mescla os dados de menor frequência com os dados agregados e, em seguida, usa na.locf() para preencher os NA para frente (ou para trás, usando fromLast = TRUE). Depois, você pode fazer subset do resultado usando o índice do objeto com a representação que preferir.
Seu ambiente de trabalho contém FEDFUNDS, monthly_fedfunds (o resultado de apply.monthly(DFF, mean)) e merged_fedfunds (o resultado de merge(FEDFUNDS, monthly_fedfunds), em que o índice de monthly_fedfunds é um Date). Observe os valores NA em merged_fedfunds.
Este exercício faz parte do curso
Importando e Gerenciando Dados Financeiros em R
Instruções do exercício
- Use
na.locf()para preencher os valoresNAemmerged_fedfunds. Atribua o resultado amerged_fedfunds_locf. - Faça o subset de
merged_fedfunds_locfporindex(monthly_fedfunds)para criar um objeto xts com timestamps no fim do mês. Nomeie o resultado comoaligned_last_day. - Use o argumento
fromLastdena.locf()para preencher os valoresNAcom a próxima observação. Atribua o resultado amerged_fedfunds_locb. - Faça o subset de
merged_fedfunds_locbporindex(FEDFUNDS)para criar um objeto xts com timestamps no primeiro dia do mês. Nomeie o resultado comoaligned_first_day.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Fill NA forward
merged_fedfunds_locf <- ___(___)
# Extract index values containing last day of month
aligned_last_day <- merged_fedfunds_locf[___]
# Fill NA backward
merged_fedfunds_locb <- na.locf(___, fromLast = ___)
# Extract index values containing first day of month
aligned_first_day <- merged_fedfunds_locb[___]