CamaraDosDeputados / dados-abertos

Repositório do serviço de Dados Abertos da Câmara. Consulte as "Issues" para atendimento a dúvidas e sugestões.
http://dadosabertos.camara.leg.br
198 stars 13 forks source link

Duplicatas de uriProposicao, uriAutor na tabela proposicoesAutores-*.* #247

Open lucasmation opened 5 years ago

lucasmation commented 5 years ago

Pelo que entendi do #244, o par uriProposicao, uriAutor deveria ser a chave unica desta tabela. Entretanto ela tem duplicatas, conforme indicado abaixo para o ano de 2018.

Aplicando um unique() com base em todas as variáis as duplicatas dentro de 2018 desaparecem.

Olhando para o conjunto de todos os dados de 2015 a 2019, existem inicialmente

Duplicatas de 2015:2019 que nao some com unique() (= tem alguma variavel diferente)

> pa[dups>1][order(uriProposicao, uriAutor)] #4957 before unique. 21 after unique.
    idProposicao                                                 uriProposicao idDeputadoAutor
 1:      2054761 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2054761           11294
 2:      2054761 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2054761           28280
 3:      2054761 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2054761          108082
 4:      2110787 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2110787          141412
 5:      2110787 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2110787          141412
 6:      2111198 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2111198          167614
 7:      2111198 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2111198          167614
 8:      2124318 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2124318          196358
 9:      2124318 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2124318          196358
10:      2125015 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2125015          167614
11:      2125015 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2125015          167614
12:      2125034 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2125034           73786
13:      2125034 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2125034           73786
14:      2125380 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2125380           73793
15:      2125380 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2125380           73793
16:      2125387 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2125387          167614
17:      2125387 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2125387          167614
18:      2125975 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2125975          167614
19:      2125975 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2125975          167614
20:      2126030 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2126030          167614
21:      2126030 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2126030          167614

Duplicatas de 2018 (todas somem com unique(), = sao repetidas )

  idProposicao                                                 uriProposicao idDeputadoAutor
 1:      2181381 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181381          178979
 2:      2181381 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181381          178979
 3:      2181381 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181381           74470
 4:      2181381 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181381           74470
 5:      2181653 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181653          178979
 6:      2181653 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181653          178979
 7:      2181653 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181653           74470
 8:      2181653 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181653           74470
 9:      2181836 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181836          178843
10:      2181836 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181836          178843
11:      2181836 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181836          178924
12:      2181836 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181836          178924
13:      2181836 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181836           74308
14:      2181836 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181836           74308
15:      2181836 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181836           74470
16:      2181836 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181836           74470
17:      2181837 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181837          178843
18:      2181837 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181837          178843
19:      2181837 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181837          178924
20:      2181837 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181837          178924
21:      2181837 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181837           74372
22:      2181837 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181837           74372
23:      2181837 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181837           74470
24:      2181837 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181837           74470
25:      2181838 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181838          178843
26:      2181838 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181838          178843
27:      2181838 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181838          178924
28:      2181838 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181838          178924
29:      2181838 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181838           74470
30:      2181838 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2181838           74470
31:      2182561 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2182561          163321
32:      2182561 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2182561          163321
33:      2182561 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2182561          178935
34:      2182561 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2182561          178935
35:      2182561 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2182561          178939
36:      2182561 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2182561          178939
37:      2182561 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2182561          178979
38:      2182561 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2182561          178979
39:      2182561 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2182561           74428
40:      2182561 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2182561           74428
41:      2183168 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2183168          178924
42:      2183168 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2183168          178924
43:      2183168 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2183168          178979
44:      2183168 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2183168          178979
45:      2183168 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2183168           74470
46:      2183168 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2183168           74470
47:      2188522 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2188522          141431
48:      2188522 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2188522          141431
49:      2188522 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2188522          163321
50:      2188522 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2188522          163321
51:      2188522 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2188522          178924
52:      2188522 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2188522          178924
53:      2188522 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2188522           74372
54:      2188522 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2188522           74372
55:      2188522 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2188522           74470
56:      2188522 https://dadosabertos.camara.leg.br/api/v2/proposicoes/2188522           74470

estou eliminando estes casos no meu programa, mas achei importante reportar aqui o problema.

EquipeDadosAbertosCD commented 5 years ago

Salve, Lucas!

Obrigado pela informação. Investigando seu relato, pude confirmar que há vários registros duplicados não só no arquivo de 2018. O seu entendimento sobre as combinações dos campos está correto, e não deveria ser necessário usar uma função como UNIQUE() para eliminar duplicados.

Além do que você explicou, descobri casos de duplicação de autores também na API, no endpoint /proposicoes/{id}/autores.

Entre os registros que você apontou que não somem com o uso de UNIQUE(), parece que, por alguma razão, um dos registros de cada par contém informação sobre o partido do deputado autor, e o outro não. Confirmei essas situação nos três casos a seguir:

Vamos investigar a situação mais a fundo com prioridade.

Obrigado mais uma vez e abraço!

Fabricio Rocha Equipe Dados Abertos - Câmara

EquipeDadosAbertosCD commented 5 years ago

Olá, Lucas!

Subimos nesta terça-feira (21/05) uma atualização que deve ter corrigido o problema. Estamos gerando novamente os arquivos sob esta atualização. A API também já está com a correção. Caso você possa fazer uns testes, por favor nos avise dos resultados.

Obrigado e abraço!

Fabricio Rocha Equipe Dados Abertos - Câmara

lucasmation commented 5 years ago

Prezados,

grato. Baixei os dados nove e verifiquei novamente. Ainda ha duplicatas. Extendi a analise para todo o periodo. Listo abaixo o numero de publicatas encontradas em cada ano, com e sem unique.

Duplicatas depois de aplicar unique:

dups= numero de linhas com a mesema uriProposicao, uriAutor em cada ano N= numero pares unicos (de uriProposicao, uriAutor ) que aparecem duplicados (ou triplicados, etc)

    ano_arquivo dups  N
 1:        2017    2  7
 2:        2016    2  2
 3:        2015    3  1
 4:        2013    2  1
 5:        2011    2  1
 6:        2009    2  1
 7:        2008    2  1
 8:        2008   22  1
 9:        2007    2  1
10:        2006    2  1
11:        2006    9  1
12:        2005    2 18
13:        2005    3  1
14:        2004    2 29
15:        2004    3  1
16:        2003    3  4
17:        2002    2  1
18:        2001    2  3
19:        1999    2  2
20:        1998    2  3
21:        1997    2  7
22:        1996    2  5
23:        1995    2  1
24:        1994    2  5
25:        1993    2 15
26:        1992    2  4
27:        1992    3  1
28:        1991    2 11
29:        1991    3  3
30:        1991    4  1
31:        1991    5  2
32:        1991    6  1
33:        1991   11  1
34:        1990    2 33
35:        1990    3  1
36:        1975    2  1
37:        1973    2  1
38:        1970    2  2
39:        1966    2  1
40:        1963    2  2
41:        1963    3  2
42:        1962    3  1
43:        1961    2  1
44:        1946    2  4
45:        1946    3  6
46:        1946    4  5
47:        1946    5  1
    ano_arquivo dups  N

As proposicoes com duplicatas (depois de aplicar unique sao):

136
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265527
2
137
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265524
2
138
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265519
2
139
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265502
2
140
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265501
2
141
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265498
2
142
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265493
2
143
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265491
2
144
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265487
2
145
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265469
2
146
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265468
2
147
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265453
2
148
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265452
2
149
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265433
2
150
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265429
2
151
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265407
2
152
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265405
2
153
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265389
2
154
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265388
2
155
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265370
2
156
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265368
2
157
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265357
2
158
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265354
2
159
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265353
2
160
https://dadosabertos.camara.leg.br/api/v2/proposicoes/265352
2
161
https://dadosabertos.camara.leg.br/api/v2/proposicoes/155807
3
162
https://dadosabertos.camara.leg.br/api/v2/proposicoes/293668
2
163
https://dadosabertos.camara.leg.br/api/v2/proposicoes/280037
2
164
https://dadosabertos.camara.leg.br/api/v2/proposicoes/277075
2
165
https://dadosabertos.camara.leg.br/api/v2/proposicoes/277018
2
166
https://dadosabertos.camara.leg.br/api/v2/proposicoes/276986
2
167
https://dadosabertos.camara.leg.br/api/v2/proposicoes/276984
2
168
https://dadosabertos.camara.leg.br/api/v2/proposicoes/276970
2
169
https://dadosabertos.camara.leg.br/api/v2/proposicoes/276969
2
170
https://dadosabertos.camara.leg.br/api/v2/proposicoes/276813
2
171
https://dadosabertos.camara.leg.br/api/v2/proposicoes/276812
2
172
https://dadosabertos.camara.leg.br/api/v2/proposicoes/276782
2
173
https://dadosabertos.camara.leg.br/api/v2/proposicoes/276763
2
174
https://dadosabertos.camara.leg.br/api/v2/proposicoes/276722
2
175
https://dadosabertos.camara.leg.br/api/v2/proposicoes/276661
2
176
https://dadosabertos.camara.leg.br/api/v2/proposicoes/276618
2
177
https://dadosabertos.camara.leg.br/api/v2/proposicoes/276549
2
178
https://dadosabertos.camara.leg.br/api/v2/proposicoes/276473
2
179
https://dadosabertos.camara.leg.br/api/v2/proposicoes/276260
2
180
https://dadosabertos.camara.leg.br/api/v2/proposicoes/276249
3
181
https://dadosabertos.camara.leg.br/api/v2/proposicoes/338915
2
182
https://dadosabertos.camara.leg.br/api/v2/proposicoes/333493
9
183
https://dadosabertos.camara.leg.br/api/v2/proposicoes/343599
2
184
https://dadosabertos.camara.leg.br/api/v2/proposicoes/401019
22
185
https://dadosabertos.camara.leg.br/api/v2/proposicoes/384305
2
186
https://dadosabertos.camara.leg.br/api/v2/proposicoes/463912
2
187
https://dadosabertos.camara.leg.br/api/v2/proposicoes/499514
2
188
https://dadosabertos.camara.leg.br/api/v2/proposicoes/587627
2
189
https://dadosabertos.camara.leg.br/api/v2/proposicoes/2054761
3
190
https://dadosabertos.camara.leg.br/api/v2/proposicoes/2111198
2
191
https://dadosabertos.camara.leg.br/api/v2/proposicoes/2110787
2
192
https://dadosabertos.camara.leg.br/api/v2/proposicoes/2126030
2
193
https://dadosabertos.camara.leg.br/api/v2/proposicoes/2125975
2
194
https://dadosabertos.camara.leg.br/api/v2/proposicoes/2125387
2
195
https://dadosabertos.camara.leg.br/api/v2/proposicoes/2125380
2
196
https://dadosabertos.camara.leg.br/api/v2/proposicoes/2125034
2
197
https://dadosabertos.camara.leg.br/api/v2/proposicoes/2125015
2
198
https://dadosabertos.camara.leg.br/api/v2/proposicoes/2124318
2
lucasmation commented 5 years ago

ha tambem casos de duplicatas completas, em todas as variaveis (que sao eliminadas por comando unique), mas sao menos casos

vitormarcal commented 5 years ago

Olá, acredito que com os novos arquivos já gerados essa situação já tenha sido resolvida.

lucasmation commented 5 years ago

@vitormarcal , voce eh da camara? por favor detalhe os testes que fez, data que o arquivo foi baixado ou atualizado. COmo eu disse , eu repeti os testes ha 4 dias e encontrei os mesmos problemas.

EquipeDadosAbertosCD commented 5 years ago

Olá, Lucas!

Você já fez testes desconsiderando os registros com NULL em uriAutor?

Abraço,

Fabricio Rocha Equipe Dados Abertos - Câmara