-
Notifications
You must be signed in to change notification settings - Fork 2
/
preparo_anos.Rmd
63 lines (49 loc) · 1.19 KB
/
preparo_anos.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
---
title: "Empenho: Preparo dos Dados, 2014-8"
output: github_document
---
```{r,echo=F}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
dpi=96
)
```
Inclusão de pacotes
```{r setup,message=F}
library(tidyverse)
library(fs)
source("preparo_util.R")
```
Comprime todos os arquivos .csv (retira espaços extra)
```{r,eval=F}
fnames <- dir_ls("data",regexp="despesa\\d{4}\\.csv")
fnames %>% walk(squish_file)
```
```{r}
fnames_squished <- dir_ls("data",regexp="despesa\\d{4}_squished\\.zip") %>%
as.character
fnames_squished
```
Extrai ano de cada nome de arqiuvo
```{r}
anos <- map_chr(fnames_squished,str_extract,"\\d{4}")
anos
```
Lê todos os arquivos (sem descomprimir .zip), adiciona coluna "ano", e concatena num só data frame
```{r,eval=F}
df_all <- fnames_squished %>%
map2_dfr(anos,~{read_delim(.x,delim=";",quote="^")%>%
mutate(ano=.y)%>%
select(ano,everything())}) %>%
mutate_if(is.character,as.factor) # taking long...
nrow(df_all)
```
Escreve num arquivo do r (formato RDS)
```{r,eval=F}
df_all %>% write_rds("data/df_all.rds",compress="bz2")
```
Apaga da memória
```{r,eval=F}
rm(df_all)
```