Skip to content

funcao deflacionar muito lenta. Tente vetorizar. #7

@lucasmation

Description

@lucasmation

Bacana. Mas testei o pacote num grande banco de dados (500 milhoes de linhas) e a funcao deflacionar esta muito lenta. Nao tem motivo para ser tao lenta, ja que no fundo eh apenas uma operacao multiplicacao.

A funcao esta sendo chamada linha a linha? Acho que voce precisa vetorizar.

Segue um pseudo codigo para vetorizar:

  1. extrair um vetor data_unica a partir das das datas unicas do nominal_dates
  2. baixar os dados do Ipeadata para cada data unica
  3. criar um data.frame pequeno, def, com colunas data_unica e deflator (para uma certa real_date)
  4. mergear os dados originais (um data.frame com nominal_dates e nominal_values) com def. Esta operacao eh bem rapida, principalmente se voce usar data.table
  5. multplicar nominal_values por deflator

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions