-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjoin_utils.R
More file actions
382 lines (326 loc) · 17.6 KB
/
Copy pathjoin_utils.R
File metadata and controls
382 lines (326 loc) · 17.6 KB
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
#' @title Realiza o join dos contratos com o dataframe das licitações
#' @param df_contratos dataframe com os contratos
#' @param df_licitacoes dataframe com as licitações
#' @return Dataframe contendo informações dos contratos com os ids das licitações
#' @rdname join_contratos_licitacao
#' @examples
#' join_contrato_licitacao_dt <- join_contratos_licitacao(df_contratos, df_licitacoes)
#'
join_contratos_licitacao <- function(df_contratos, df_licitacoes) {
df_licitacoes %<>% dplyr::select(cd_u_gestora, dt_ano, nu_licitacao,
tp_licitacao, id_licitacao)
df_contratos %<>% dplyr::left_join(df_licitacoes) %>%
dplyr::select(id_contrato, id_licitacao, cd_municipio, dplyr::everything())
}
#' @title Realiza o join dos empenhos com o dataframe das licitações
#' @param empenhos_df dataframe com os empenhos
#' @param licitacoes_df dataframe com as licitações
#' @return Dataframe contendo informações dos empenhos com os ids das licitações
#' @rdname join_empenhos_licitacao
#' @examples
#' join_empenhos_licitacao_dt <- join_empenhos_licitacao(df_empenhos, df_licitacoes)
#'
join_empenhos_licitacao <- function(df_empenhos, df_licitacoes) {
df_licitacoes %<>% dplyr::select(cd_u_gestora, dt_ano, nu_licitacao,
tp_licitacao, id_licitacao, cd_ibge)
df_empenhos %<>% dplyr::left_join(df_licitacoes) %>%
dplyr::select(id_empenho, id_licitacao, dplyr::everything()) %>%
dplyr::select(-c(cd_municipio))
}
#' @title Realiza o join dos contratos com os códigos das unidades gestoras
#' @param df_contratos dataframe com os contratos
#' @param df_codigo_unidade_gestora dataframe com os códigos das unidades gestoras
#' @return Dataframe contendo informações dos contratos com nomes das unidades gestoras
#' @rdname join_contratos_codigo_unidade_gestora
#' @examples
#' join_contratos_codigo_unidade_gestora_dt <- join_contratos_codigo_unidade_gestora(
#' df_contratos, df_codigo_unidade_gestora)
#'
join_contratos_codigo_unidade_gestora <- function(df_contratos, df_codigo_unidade_gestora) {
df_codigo_unidade_gestora %<>% dplyr::select(cd_u_gestora, de_ugestora)
df_contratos %<>% dplyr::left_join(df_codigo_unidade_gestora) %>%
dplyr::select(id_contrato, id_licitacao, cd_municipio, dplyr::everything())
}
#' @title Realiza o join das licitações com os códigos das unidades gestoras
#' @param df_licitacoes dataframe com as licitações
#' @param df_codigo_unidade_gestora dataframe com os códigos das unidades gestoras
#' @return Dataframe contendo informações das licitações com nomes das unidades gestoras
#' @rdname join_licitações_codigo_unidade_gestora
#' @examples
#' join_licitacoes_codigo_unidade_gestora_dt <- join_licitacoes_codigo_unidade_gestora(
#' df_licitacoes, df_codigo_unidade_gestora)
#'
join_licitacoes_codigo_unidade_gestora <- function(df_licitacoes, df_codigo_unidade_gestora){
df_codigo_unidade_gestora %<>% dplyr::select(cd_u_gestora, de_ugestora)
df_licitacoes %<>% dplyr::left_join(df_codigo_unidade_gestora) %>%
dplyr::select(id_licitacao, cd_municipio, dplyr::everything())
}
#' @title Realiza o join dos contratos com os fornecedores
#' @param df_contratos dataframe com os contratos
#' @param df_fornecedores dataframe com os fornecedores
#' @return Dataframe contendo informações dos contratos com os nomes dos fornecedores
#' @rdname join_contratos_fornecedores
#' @examples
#' join_contratos_fornecedores_dt <- join_contratos_fornecedores(
#' df_contratos, df_fornecedores)
#'
join_contratos_fornecedores <- function(df_contratos, df_fornecedores) {
df_fornecedores %<>% dplyr::select(nu_cpfcnpj, no_fornecedor) %>%
dplyr::distinct(nu_cpfcnpj, .keep_all=TRUE)
df_contratos %<>% dplyr::left_join(df_fornecedores) %>%
dplyr::select(id_contrato, dplyr::everything())
}
#' @title Realiza o join das licitações com os tipos de modalidade de licitações
#' @param df_licitacoes dataframe com as licitações
#' @param df_tipo_modalidade_licitacao dataframe com os tipos de modalidade de licitações
#' @return Dataframe contendo informações das licitações com nome da modalidade de licitação
#' @rdname join_licitacoes_tipo_modalidade_licitacao
#' @examples
#' join_licitacoes_tipo_modalidade_licitacao_dt <- join_licitacoes_tipo_modalidade_licitacao(
#' df_licitacoes, df_tipo_modalidade_licitacao)
#'
join_licitacoes_tipo_modalidade_licitacao <- function(df_licitacoes, df_tipo_modalidade_licitacao) {
df_tipo_modalidade_licitacao %<>% dplyr::select(tp_licitacao, de_tipo_licitacao)
df_licitacoes %<>% dplyr::left_join(df_tipo_modalidade_licitacao) %>%
dplyr::select(id_licitacao, dplyr::everything())
}
#' @title Realiza o join das licitações com os municipios do SAGRES
#' @param df_licitacoes dataframe com as licitações
#' @param df_municipios_sagres dataframe com os id dos municipios do SAGRES
#' @return Dataframe contendo informações das licitações com o id do IBGE
#' @rdname join_licitacoes_municipios_sagres
#' @examples
#' join_licitacoes_municipios_sagres_dt <- join_licitacoes_municipios_sagres(
#' df_licitacoes, df_municipios_sagres)
#'
join_licitacoes_municipios_sagres <- function(df_licitacoes, df_municipios_sagres) {
df_licitacoes %<>% dplyr::left_join(df_municipios_sagres) %>%
dplyr::select(id_licitacao, dplyr::everything())
}
#' @title Realiza o join das licitações com as localidades do IBGE
#' @param df_licitacoes dataframe com as licitações
#' @param df_localidades_ibge dataframe com as localidades cadastradas no IBGE
#' @return Dataframe contendo informações das licitações com o ids do IBGE
#' @rdname join_licitacoes_localidades_ibge
#' @examples
#' join_licitacoes_localidades_ibge_dt <- join_licitacoes_localidades_ibge(
#' df_licitacoes, df_localidades_ibge)
#'
join_licitacoes_localidades_ibge <- function(df_licitacoes, df_localidades_ibge) {
df_localidades_ibge %<>% dplyr::select(uf, mesorregiao_geografica, microrregiao_geografica, cd_ibge)
df_licitacoes %<>% dplyr::left_join(df_localidades_ibge) %>%
dplyr::select(id_licitacao, dplyr::everything()) %>%
dplyr::select(-c(cd_municipio))
}
#' @title Realiza o join dos órgãos do RS com as localidades do IBGE
#' @param df_orgaos_rs dataframe com os órgãos
#' @param df_localidades_ibge dataframe com as localidades cadastradas no IBGE
#' @return Dataframe contendo informações dos órgãos com o ids do IBGE
#' @rdname join_licitacoes_localidades_ibge
#' @examples
#' join_orgaos_rs_localidades_ibge_dt <- join_orgaos_rs_localidades_ibge(
#' df_orgaos_rs, df_localidades_ibge)
#'
join_orgaos_rs_localidades_ibge <- function(df_orgaos_rs, df_localidades_ibge) {
df_localidades_ibge %<>% dplyr::select(uf, mesorregiao_geografica, microrregiao_geografica, cd_ibge)
df_orgaos_rs %<>% dplyr::left_join(df_localidades_ibge) %>%
dplyr::select(cd_u_gestora, dplyr::everything())
}
#' @title Realiza o join das licitações do RS com os seus tipos
#' @param df_licitacoes_rs dataframe com as licitações
#' @param df_modalidade_licitacoes_rs dataframe com as modalidades das licitações
#' @return Dataframe contendo informações das licitações com os tipos
#' @rdname join_licitacoes_rs_tipos
#' @examples
#' join_licitacoes_rs_tipos_dt <- join_licitacoes_rs_tipos(
#' df_licitacoes_rs, df_tipos_licitacoes_rs)
#'
join_licitacoes_rs_modalidade <- function(df_licitacoes_rs, df_modalidade_licitacoes_rs) {
df_licitacoes_rs %<>% dplyr::left_join(df_modalidade_licitacoes_rs) %>%
dplyr::select(id_licitacao, dplyr::everything())
}
#' @title Realiza o join das licitações do RS com os seus órgãos
#' @param df_licitacoes_rs dataframe com as licitações
#' @param df_orgaos_rs dataframe com os órgãos
#' @return Dataframe contendo informações das licitações com os órgãos e localidades
#' @rdname join_licitacoes_rs_tipos
#' @examples
#' join_licitacoes_rs_orgaos_dt <- join_licitacoes_rs_orgaos(
#' df_licitacoes_rs, df_orgaos_rs)
#'
join_licitacoes_rs_orgaos <- function(df_licitacoes_rs, df_orgaos_rs) {
df_orgaos_rs %<>% dplyr::select(cd_u_gestora, uf, mesorregiao_geografica, microrregiao_geografica, cd_ibge)
df_licitacoes_rs %<>% dplyr::left_join(df_orgaos_rs, by="cd_u_gestora") %>%
dplyr::select(id_licitacao, dplyr::everything())
}
#' @title Realiza o join entre as tabelas de contratos e licitações
#' @param df_licitacoes_rs dataframe com as licitações
#' @param df_contratos_rs dataframe com os contratos
#' @return Dataframe contendo informações dos contratos e das licitações
#' @rdname join_contratos_rs_licitacoes
#' @examples
#' join_contratos_rs_licitacoes_dt <- join_contratos_rs_licitacoes(
#' df_licitacoes_rs, df_orgaos_rs)
#'
join_contratos_rs_licitacoes <- function(df_contratos_rs, df_licitacoes_rs) {
df_licitacoes_rs %<>% dplyr::select(id_licitacao, cd_u_gestora, nu_licitacao,
cd_tipo_modalidade, tp_licitacao, uf, mesorregiao_geografica,
microrregiao_geografica, cd_ibge)
df_contratos_rs %<>% dplyr::left_join(df_licitacoes_rs) %>%
dplyr::select(id_contrato, id_licitacao, dplyr::everything())
}
#' @title Realiza o join entre as tabelas de contratos e pessoas
#' @param df_contratos_rs dataframe com as contratos
#' @param df_pessoas_rs dataframe com as pessoas
#' @return Dataframe contendo informações dos contratos e das pessoas/fornecedores
#' @rdname join_contratos_rs_pessoas
#' @examples
#' join_contratos_rs_pessoas_dt <- join_contratos_rs_pessoas(
#' df_contratos_rs, df_orgaos_rs)
#'
join_contratos_rs_pessoas <- function(df_contratos_rs, df_pessoas_rs) {
df_pessoas_rs %<>% dplyr::select(nu_cpfcnpj, no_fornecedor) %>%
dplyr::distinct(nu_cpfcnpj, .keep_all = TRUE)
df_contratos_rs %<>% dplyr::left_join(df_pessoas_rs, by="nu_cpfcnpj") %>%
dplyr::select(id_contrato, id_licitacao, dplyr::everything())
}
#' @title Realiza o join dos contratos com os municipios do SAGRES
#' @param df_contratos dataframe com os contratos
#' @param df_municipios_sagres dataframe com os id dos municipios do SAGRES
#' @return Dataframe contendo informações dos contratos com os ids do IBGE
#' @rdname join_contratos_municipios_sagres
#' @examples
#' join_contratos_municipios_sagres_dt <- join_contratos_municipios_sagres(
#' df_contratos, df_municipios_sagres)
#'
join_contratos_municipios_sagres <- function(df_contratos, df_municipios_sagres) {
df_contratos %<>% dplyr::left_join(df_municipios_sagres) %>%
dplyr::select(id_contrato, dplyr::everything())
}
#' @title Realiza o join dos contratos com as localidades do IBGE
#' @param df_contratos dataframe com os contratos
#' @param df_localidades_ibge dataframe com as localidades cadastradas no IBGE
#' @return Dataframe contendo informações dos contratos com o ids do IBGE
#' @rdname join_contratos_localidades_ibge
#' @examples
#' join_contratos_localidades_ibge_dt <- join_contratos_localidades_ibge(
#' df_contratos, df_localidades_ibge)
#'
join_contratos_localidades_ibge <- function(df_contratos, df_localidades_ibge) {
df_localidades_ibge %<>% dplyr::select(uf, mesorregiao_geografica, microrregiao_geografica, cd_ibge)
df_contratos %<>% dplyr::left_join(df_localidades_ibge) %>%
dplyr::select(id_contrato, dplyr::everything()) %>%
dplyr::select(-c(cd_municipio))
}
#' @title Realiza o join dos participantes com o dataframe das licitações
#' @param df_participantes dataframe com os participantes
#' @param df_licitacoes dataframe com as licitações
#' @return Dataframe contendo informações dos participantes com os ids das licitações
#' @rdname join_participantes_licitacao
#' @examples
#' join_participantes_licitacao_dt <- join_participante_licitacao(df_participantes, df_licitacoes)
#'
join_participantes_licitacao <- function(df_participantes, df_licitacoes) {
df_licitacoes %<>% dplyr::select(cd_u_gestora, dt_ano, nu_licitacao,
tp_licitacao, id_licitacao)
df_participantes %<>% dplyr::left_join(df_licitacoes) %>%
dplyr::select(id_participante, id_licitacao, dplyr::everything())
}
#' @title Realiza o join dos participantes com os fornecedores
#' @param df_participantes dataframe com os participantes
#' @param df_fornecedores dataframe com os fornecedores
#' @return Dataframe contendo informações dos participantes com os nomes dos fornecedores
#' @rdname join_participantes_fornecedores
#' @examples
#' join_participantes_fornecedores_dt <- join_participantes_fornecedores(
#' df_participantes, df_fornecedores)
#'
join_participantes_fornecedores <- function(df_participantes, df_fornecedores) {
df_fornecedores %<>% dplyr::select(nu_cpfcnpj, no_fornecedor) %>%
dplyr::distinct(nu_cpfcnpj, .keep_all=TRUE)
df_participantes %<>% dplyr::left_join(df_fornecedores) %>%
dplyr::select(id_participante, dplyr::everything())
}
#' @title Realiza o join das propostas com o dataframe das licitações
#' @param df_propostas dataframe com as propostas
#' @param df_licitacoes dataframe com as licitações
#' @return Dataframe contendo informações das propostas com os ids das licitações
#' @rdname join_propostas_licitacao
#' @examples
#' join_propostas_licitacao_dt <- join_propostas_licitacao(df_propostas, df_licitacoes)
#'
join_propostas_licitacao <- function(df_propostas, df_licitacoes) {
df_licitacoes %<>% dplyr::select(cd_u_gestora, dt_ano, nu_licitacao,
tp_licitacao, id_licitacao)
df_propostas %<>% dplyr::left_join(df_licitacoes) %>%
dplyr::select(id_proposta, id_licitacao, dplyr::everything())
}
#' @title Realiza o join dos contratos mutados com os contratos
#' @param df_contratos dataframe com os contratos
#' @param df_contratos_mutados dataframe com os contratos mutados
#' @return Dataframe contendo informações dos contratos mutados com o id do contrato
#' @rdname join_contratos_mutados_contratos
#' @examples
#' join_contratos_mutados_contratos_dt <- join_contratos_mutados_contratos(
#' df_contratos, df_contratos_mutados)
#'
join_contratos_mutados_contratos <- function(df_contratos_mutados, df_contratos) {
df_contratos %<>% dplyr::select(id_contrato, nu_contrato, cd_u_gestora, nu_licitacao, nu_cpfcnpj)
df_contratos_mutados %<>% dplyr::left_join(df_contratos) %>%
dplyr::select(id_contrato, dplyr::everything())
}
#' @title Realiza o join das propostas com o dataframe dos participantes
#' @param df_propostas dataframe com as propostas
#' @param df_licitacoes dataframe com os participantes
#' @return Dataframe contendo informações das propostas com os ids dos participantes
#' @rdname join_propostas_participantes
#' @examples
#' join_propostas_participantes_dt <- join_propostas_licitacao(df_propostas, df_licitacoes)
#'
join_propostas_participantes <- function(df_propostas, df_participantes) {
df_participantes %<>% dplyr::select(nu_licitacao, dt_ano,
cd_u_gestora, tp_licitacao, nu_cpfcnpj,
id_participante)
df_propostas %<>% dplyr::left_join(df_participantes) %>%
dplyr::select(id_proposta, id_licitacao, id_participante, dplyr::everything())
}
#' @title Realiza o join dos pagamentos com os dataframes dos empenhos
#' @param pagamentos_df dataframe com os pagamentos
#' @param empenhos_df dataframe com os empenhos
#' @return Dataframe contendo informações dos pagamentos com os ids dos empenhos
#' @rdname join_pagamentos_empenhos
#' @examples
#' join_pagamentos_empenhos_dt <- join_pagamentos_empenhos(df_pagamentos, df_empenhos)
#'
join_pagamentos_empenhos <- function(df_pagamentos, df_empenhos) {
df_empenhos %<>% dplyr::select(nu_empenho, cd_unid_orcamentaria,
dt_ano, cd_u_gestora, id_empenho,
id_licitacao, id_contrato)
df_pagamentos %<>% dplyr::left_join(df_empenhos) %>%
dplyr::select(id_pagamento, id_empenho, id_licitacao, id_contrato, dplyr::everything())
}
#' @title Realiza o join dos empenhos e pagamentos do RS com o df de contratos
#' @param df_empenhos_pagamentos_rs dataframe com os empenhos e pagamentos
#' @param df_contratos_rs dataframe com os contratos
#' @return Dataframe contendo informações dos empenhos e pagamentos com o id do contrato
#' @rdname join_empenhos_rs_contratos
#' @examples
#' join_empenhos_pagamentos_rs_contratos_dt <- join_empenhos_pagamentos_rs_contratos(df_empenhos_pagamentos_rs, df_contratos_rs)
#'
join_empenhos_pagamentos_rs_contratos <- function(df_empenhos_pagamentos_rs, df_contratos_rs) {
df_contratos_rs %<>% dplyr::select(cd_tipo_modalidade, tp_instrumento, ano_licitacao,
dt_ano, nu_contrato, nu_licitacao, cd_u_gestora,
id_licitacao, id_contrato) %>%
dplyr::mutate(dt_ano = as.character(dt_ano))
df_empenhos_pagamentos_rs %<>% dplyr::left_join(df_contratos_rs , by=c("tp_instrumento", "cd_tipo_modalidade", "ano_licitacao",
"dt_ano", "nu_contrato", "nu_licitacao", "cd_u_gestora")) %>%
dplyr::select(id_empenho,id_licitacao, id_licitacao, id_contrato, dplyr::everything()) %>%
dplyr::filter(!is.na(id_contrato))
}
# df_empenhos_pagamentos_rs %<>% dplyr::left_join(contratos_df %>%
# dplyr::mutate(nr_licitacao = as.character(nr_licitacao),
# nr_contrato = as.character(nr_contrato)) %>%
# dplyr::select(id_contrato, id_orgao, ano_licitacao, nr_licitacao, cd_tipo_modalidade,
# nr_contrato, ano_contrato, tp_instrumento_contrato),
# by = c("id_orgao", "ano_licitacao", "nr_licitacao", "cd_tipo_modalidade",
# "nr_contrato", "ano_contrato", "tp_instrumento_contrato"))