5.4 Exemplo: formatando arquivos

Vamos agora utilizar o purrr em conjunto com as outras ferramentas do tidyverse para trabalhar o projeto da especialização.

Nosso input de dados nesse projeto foi uma planilha enviada pela Corregedoria do TJSP, contendo três abas: infos, partes e movimentações, cada uma delas com suas respectivas colunas. Cada tabela correspondia a um ano: 2013, 2014 ou 2015.

Ao ler esses arquivos, nosso input era uma lista com três elementos, para cada ano: d_infos, d_movs e d_partes. Cada um desses elementos é uma tibble. Para exemplificar, montamos algumas tabelas de exemplo, com apenas 1000 processos por ano. Elas estão em data-raw/espec

Exercício: o que faz esse código? Dica: leia o arquivo data-raw/espec/d_2014.rds, guarde num objeto d_2014 e use o elemento d_2014$d_movs nessa função.

nest_infos <- function(.data, name) {
  .data %>%
    # o que faz isso?
    rename(id_lawsuit = n_processo) %>%
    # o que faz isso?
    group_by(id_lawsuit) %>%
    # o que faz isso? que raios são esses `!!` ?!
    nest(.key = !!name) %>%
    # o que faz isso?
    ungroup()
}

Exercício: o que faz esse código?

file_to_cpo <- function(arq) {
  arq %>%
    # o que faz isso?
    read_rds() %>%
    # o que faz isso?
    imap(nest_infos) %>%
    # o que faz isso?
    reduce(left_join, by = "id_lawsuit")
}

Exercício: como você faria para montar a base de dados com esse código? Dica: você primeiro precisa listar os arquivos, aplicar funções a eles e por fim empilhar. O resultado deve ser uma tibble com 30000 linhas e 3 list columns

# escreva código aqui