O presente estudo representa o desenvolvimento do Projeto Final
da disciplina de Computação para Análise de Dados, oferecida pela
Universidade Federal Rural de Pernambuco no Semestre 2022.1.
O Projeto consiste no tratamento e análise dos dados
relacionados à ocorrência de acidentes de Trânsito com e sem vítimas,
ocorridos na cidade de Recife/PE, período de 2019 a 2021. Tais dados
“primitivos” encontram-se disponibilizados no sítio da prefeitura do
Recife, no endereço: http://dados.recife.pe.gov.br/dataset/acidentes-de-transito-com-e-sem-vitimas.
No momento da seleção do conjunto de dados do Projeto, esse endereço disponibilizava as bases de dados de acidentes de trânsito ocorridos em Recife, no período de 2015 a 2021. Apesar disso, o período de interesse foi restrito aos anos de 2019 a 2021, conforme acima mencionado.
Também é importante destacar que a apenas 7 dias (em 21/03/23) foi disponibilizada no mesmo sítio da internet a base de dados referente aos acidentes do ano de 2022, no entanto, a estrutura desenvolvida neste trabalho não foi preparada para absorver tal base.
Quanto ao tema, registre-se que a Autarquia de Trânsito e Transporte Urbano do Recife (CTTU) é responsável pelo monitoramento, controle e fiscalização do trânsito e do transporte na capital de Pernambuco. Além disso, compete à CTTU, entre outras atribuições, a ações de estudos e projetos de melhoria da mobilidade urbana e sua efetiva implantação e de educação para o trânsito.
Os dados, objetivo de análise, consistem de dados não totalmente estruturados que foram obtidos da importação, a partir do link acima referenciado, de três arquivos de dados diferentes, cada um relativo aos anos de 2019 a 2021. Nesse sentido, o conjunto inicial de dados possui um total de mais de 18.500 linhas e de mais de 35 colunas.
A proposta inicial do estudo estabeleceu a apresentação dos
resultados listados abaixo, entretanto diversas outras análises foram
efetuadas, sendo apresentadas ao longo do Relatório.
Análises Inicialmente Propostas:
1 - Evolução do número de acidentes com e sem vítimas ao longo dos anos.
2 - Determinação de em que bairros e também em que faixa de horários ocorrem o maior número de acidentes com vítimas.
3 - Determinação de em que tipo de veículos mais ocorrem vítimas fatais.
4 - Determinar os tipos de acidentes que ocorrem com mais frequência em cada bairro e horário.
5 - Determinação de quais tipos de veículos mais se envolvem em acidentes e especificamente em mais acidentes com vítimas.
6 - Tentar analisar o efeito das condições das vias, do clima, de velocidade máxima.
Ainda, em complemento às proposições acima dispostas, o estudo
desenvolveu diversas outras análises inicialmente não previstas, mas que
revelam resultados interessantes relativos ao tema.
Importante ainda destacar que a metodologia de estudo consiste na manipulação de estruturas e demais objetos, em linguagem R, com utilização do RStudio com o objetivo de tratamento dos dados “primitivos” obtidos. Nesse sentido, os dados serão analisados e manipulados, de forma a resultar numa base de dados consistente e adequada à execução das análises propostas.
Tais análises são acompanhadas de gráficos, tabelas e comentários, sendo atenção especial dada aos acidentes com vítimas fatais, os quais representam uma parcela grande interesse e relevância dentro do universo das análises executadas.
Potenciais clientes deste estudo podem ser interessantes para desenvolvimento de ações por entes públicos como o DETRAN, a CTTU, a própria Prefeitura da Cidade do Recife, Empresas Seguradoras de Veículos, o Governo do Estado, entre outros.
A maioria dos pacotes necessários para aplicação no Projeto são
carregados por padrão no RStudio, porém, foi necessária a instalação e
posterior utilização de outras bibliotecas, listadas a seguir:
dplyr: Efetuar manipulação de dados.
tidyr: Permitir a formatação de dados.
plotly: Permitir visualizações gráficas.
formattable: Permitir aplicação regras de formatação pré-definidas que possibilitam impressão de dados com formatação.
DT: Permitir formatação e impressão de objetos como tabelas.
knitr: Permitir geração de tabelas.
kableExtra: Permitir formatação de tabelas.
Importante destacar que a metodologia
utilizada nos códigos em R não necessita do carregamento das bibliotecas
citadas acima. Isso se deve ao fato da utilização da estrutura:
nome_do_pacote::nome_da_função a qual
proporciona o perfeito uso das bibliotecas.
Exemplo: DT::datatable
As bases de dados objeto do estudo foram extraídas a partir de
sítio na internet disponibilizado pela prefeitura da cidade do Recife,
conforme endereço: (http://dados.recife.pe.gov.br/it/dataset/acidentes-de-transito-com-e-sem-vitimas).
Considerando o interesse na análise dos dados de acidentes associados aos anos de 2019 a 2021, foram baixadas as bases de dados relacionadas a tais anos e disponíveis nos endereços:
#Definindo diretório para onde o R aponta:
setwd("C:\\Users\\jerem\\Documents\\R_2022.1")
#Baixando os Arquivos de Dados
URL_2019<-"http://dados.recife.pe.gov.br/dataset/44087d2d-73b5-4ab3-9bd8-78da7436eed1/resource/3531bafe-d47d-415e-b154-a881081ac76c/download/acidentes-2019.csv"
URL_2020<-"http://dados.recife.pe.gov.br/dataset/44087d2d-73b5-4ab3-9bd8-78da7436eed1/resource/fc1c8460-0406-4fff-b51a-e79205d1f1ab/download/acidentes_2020-novo.csv"
URL_2021<-"http://dados.recife.pe.gov.br/dataset/44087d2d-73b5-4ab3-9bd8-78da7436eed1/resource/2caa8f41-ccd9-4ea5-906d-f66017d6e107/download/acidentes2021.csv"
download.file(URL_2019,destfile="C:\\Users\\jerem\\Documents\\R_2022.1\\Acidentes_2019.csv",method = "curl")
download.file(URL_2020,destfile="C:\\Users\\jerem\\Documents\\R_2022.1\\Acidentes_2020.csv",method = "curl")
download.file(URL_2021,destfile="C:\\Users\\jerem\\Documents\\R_2022.1\\Acidentes_2021.csv",method = "curl")
#Importando para o R os arquivos de fontes de dados
A_2019<-read.csv(file="Acidentes_2019.csv",header=T,strip.white=T,na.strings = "",sep=";")
A_2020<-read.csv(file="Acidentes_2020.csv",header=T,strip.white=T,na.strings = "",sep=";")
A_2021<-read.csv(file="Acidentes_2021.csv",header=T,strip.white=T,na.strings = "",sep=";")
Os dados originais registram diversas informações relativas a
ocorrência do acidente como local, data, hora, tipo de acidente, tipo de
veículo envolvido, condições climáticas, bairros, condições das vias.
Tais dados são baixados sempre que é executada a função “Knit” para
geração do relatório, no Rmarkdown, não sendo necessário salvamento
intermediário da base de dados no diretório do R.
À análise dos dados importados (A_2019, A_2020 e A_2021),
constatou-se que as bases de dados de 2019 e 2020 possuem a coluna
chamada “descricao”, a qual indicaria a descrição do acidente.
Entretanto, tal coluna não está presente na base relacionada ao ano de
2021. Apesar disso, as colunas “descricao” contidas bases de dados
relativas a 2019 e 2020 serão excluídas pois a descrição do acidente não
será objeto de estudo.
A_2020<-A_2020[,-which(names(A_2020)=="descricao")]
A_2019<-A_2019[,-which(names(A_2019)=="descricao")]
Também, a base de dados de 2019 possui três colunas que não
aparecem nas bases de 2020 e 2021
(“referencia_cruzamento”,“numero_cruzamento”,“endereco_cruzamento”).
Apesar disso, tais colunas foram consideradas não relevantes para as
análises pretendidas e, portanto, serão eliminadas.
A_2019<-A_2019[,-which(names(A_2019) %in% c("referencia_cruzamento","numero_cruzamento","endereco_cruzamento"))]
Após as manipulações anteriores os dataframe associados aos anos
de 2019, 2020 e 2021 possuem a mesma quantidade de colunas e os mesmos
tipos de informação, dispostos na mesma ordem.
Assim, os três dataframes podem ser unificados e representar uma única base de dados. Para isso, necessário converter os nomes das todas colunas dos três dataframes (A_2019, A_2020, A_2021) para letra minúscula, objetivando evitar conflitos de identificação de variáveis quando da junção dos dados:
names(A_2019)<-tolower(names(A_2019))
names(A_2020)<-tolower(names(A_2020))
names(A_2021)<-tolower(names(A_2021))
Junção dos dataframes para uma única base de dados: A_Total
A_Total<-rbind(A_2019,A_2020)
A_Total<-rbind(A_Total,A_2021)
Em seguida, o dataframe resultante foi analisado: As colunas
consideradas relevantes e que representavam dados tipo caracteres foram
transformadas em fatores objetivando a avaliação da quantidade e da
descrição dos níveis nos quais os dados foram classificados. Tal ação
visou identificar possíveis incorreções, redundâncias e outras situações
que exigem melhor interpretação ou intervenção na consistências dos
dados em análise.
Diante disso foram efetuadas as análises e ajustes subsequentes:
1 - Eliminação das ocorrências em que a informação na coluna
“situacao” é indicada como “DUPLICIDADE”, uma vez que tratar-se-iam de
acidentes registrados em duplicidade:
A_Total<-A_Total[-which(A_Total$situacao=="DUPLICIDADE"),]
2 - Padronização das velocidades apresentadas de forma não
padronizada na coluna “velocidade_max_via”. Para isso, os dados dessa
coluna foram convertidos para o padrão de letra minúscula, e a partir
daí foram estudados os dados registrados. Assim, as velocidades
indicadas como “n/i” foram reclassificadas para “NA” e o registro com
indicação de velocidade “30 e 40 km/h” foi reclassificado considerando a
menor velocidade indicada: 30km/h.
A_Total$velocidade_max_via<-tolower(A_Total$velocidade_max_via)
A_Total$velocidade_max_via[which(A_Total$velocidade_max_via %in% c("30km","30 km/h","30 e 40 km/h"))]<-"30km/h"
A_Total$velocidade_max_via[which(A_Total$velocidade_max_via %in% c("40km","40 km/h"))]<-"40km/h"
A_Total$velocidade_max_via[which(A_Total$velocidade_max_via %in% c("20km","20 km/h"))]<-"20km/h"
A_Total$velocidade_max_via[which(A_Total$velocidade_max_via %in% c("60km","60 km/h"))]<-"60km/h"
A_Total$velocidade_max_via[which(A_Total$velocidade_max_via %in% c("10 km/h"))]<-"10km/h"
A_Total$velocidade_max_via[which(A_Total$velocidade_max_via %in% c("50 km/h"))]<-"50km/h"
A_Total$velocidade_max_via[which(A_Total$velocidade_max_via %in% c("70 km/h"))]<-"70km/h"
A_Total$velocidade_max_via[which(A_Total$velocidade_max_via %in% c("n/i"))]<-NA
3 - Verificação das informações das colunas “bairro” e
“bairro_cruzamento”, as quais deveriam a ser idênticas. Tal comparação
constatou três casos de divergência, sendo que após análise da coluna
“endereco”, foi verificado que as informações corretas são aquelas
constantes da coluna “bairro”.
4 - Tratamento dos registros sem indicação de bairro na coluna
“bairro”, representadas como “NA”. Tais casos foram reclassificadas para
uma nova categoria criada: “OUTROS”. “OUTROS” agrupará as ocorrências em
que não foi destacado o bairro, uma vez que não é possível determiná-lo
com certeza, inclusive por que um mesmo endereço (nome de rua, avenida,
etc.), indicado na coluna “endereco” pode se repetir em bairros
distintos.
A_Total$bairro[is.na(A_Total$bairro)==T]<-"OUTROS"
5 - Uniformização, na coluna “bairro”, da descrição do bairro da
“ILHA JOANA BEZERRA” o qual foi preenchido de duas formas: “JOANA
BEZERRA” e “ILHA JOANA BEZERRA”. A nomenclatura foi unificada para a
correta descrição do bairro: “ILHA JOANA BEZERRA”.
A_Total$bairro[which(A_Total$bairro=="JOANA BEZERRA")]<-"ILHA JOANA BEZERRA"
6 - Uniformização, na coluna “bairro”, da descrição do bairro de
“BOMBA DO HEMETÉRIO” o qual foi preenchido de duas formas: “BOMBA DO
HEMETERIO” e “BOMBA DO HEMETÉRIO”. A nomenclatura foi unificada para a
correta descrição do bairro: “BOMBA DO HEMETÉRIO”.
A_Total$bairro[which(A_Total$bairro=="BOMBA DO HEMETERIO")]<-"BOMBA DO HEMETÉRIO"
7 - Uniformização das categorias da coluna “tipo” relacionadas
como “ABALROAMENTO LONGITUDINAL”,“ABALROAMENTO TRANSVERSAL”,“CHOQUE”,
“CHOQUE OBJETO FIXO”, “CHOQUE VEÍCULO PARADO”, “COLISÃO”, “COLISÃO
FRONTAL”, “COLISÃO LATERAL”, “COLISÃO TRANSVERSAL” e “COLISÃO TRASEIRA”
em única categoria: “COLISÃO”. Isso foi possível, pois engavetamento,
abalroamento e choque representam, na verdade correspondem a um tipo de
colisão, não sendo relevante para este estudo o detalhamento ou
categorização do tipo de colisão ocorrido. Também, o sentido de colisão
aqui considerado, trata-se do impacto de um veículo móvel em qualquer
outro objeto inanimado.
Nesse sentido, a categoria “COLISÃO COM CICLISTA” foi mantida e não agrupada como apenas “COLISÃO”, pois pode ser interessante para uma análise específica.
A_Total$tipo[which(A_Total$tipo %in% c("ENGAVETAMENTO","CHOQUE VEÍCULO PARADO","COLISÃO FRONTAL","COLISÃO LATERAL","COLISÃO TRASEIRA","COLISÃO TRANSVERSAL","CHOQUE","CHOQUE OBJETO FIXO","ABALROAMENTO LONGITUDINAL","ABALROAMENTO TRANSVERSAL"))]<-"COLISÃO"
8 - Uniformização das categorias da coluna “tipo” relacionadas
como “ATROPELAMENTO DE ANIMAL” e “ATROPELAMENTO ANIMAL” em única
categoria:: “ATROPELAMENTO DE ANIMAL”.
A_Total$tipo[which(A_Total$tipo=="ATROPELAMENTO ANIMAL")]<-"ATROPELAMENTO DE ANIMAL"
9 - Reclassificação no campo “tipo” das ocorrência classificadas
como “ATROPELAMENTO”. Será considerado que esta categoria corresponde a
“ATROPELAMENTO DE PESSOA”, uma vez que é razoável que no caso de
atropelamento de animais seria dado o detalhamento correspondente, pois
seria um atropelamento menos crítico que o atropelamento de uma
pessoa.
A_Total$tipo[which(A_Total$tipo=="ATROPELAMENTO")]<-"ATROPELAMENTO DE PESSOA"
10 - Reclassificação para a categoria “OUTROS” do campo “tipo”
nos registros em que esse campo foi preenchido como “NA”, uma vez que
não há certeza da natureza do acidente ocorrido.
A_Total$tipo[is.na(A_Total$tipo)==T]<-"OUTROS"
11 - Confirmação de nos registros de acidentes com vítima fatal,
as informações constantes das colunas “natureza_acidente” e
“vitimasfatais” (tomando como base a coluna “natureza_acidente”) estavam
consistentes. Ou seja, foi confirmado que a indicação de “VÍTIMA FATAL”
na coluna “natureza_acidente” correspondeu ao preenchimento de
determinada quantidade de vítimas fatais na coluna “vitimasfatais” (pelo
menos uma vítima fatal), sendo também verdade a análise desta afirmação
em sentido contrário (tomando como base a coluna “vitimasfatais”).
12 - Registros que contenham informação na coluna
“natureza_acidente” como “SEM VÍTIMA” ao mesmo tempo que contenham
informação na coluna “vitimas” como “NA” terão a coluna “vitimas”
atualizado para zero.
A_Total$vitimas[A_Total$natureza_acidente!="SEM VÍTIMA" & is.na(A_Total$vitimas)==T]<-0
13 - Reclassificação para a categoria “OUTROS” dos registros em
que o campo “natureza_acidente” foi representado como “NA”. Tal
categoria “OUTROS” representa situações em que, a priori, não é possível
se constatar a existência ou não de vítimas no acidente ocorrido.
A_Total$natureza_acidente[is.na(A_Total$natureza_acidente)==T]<-"OUTROS"
14 - Reclassificação do campo “natureza_acidente” em que a
categorização houve como “OUTROS”, mas que a partir das informações dos
demais campos relativos ao número de vítimas, é possível saber se houve
ou não vítimas no acidente. Desta forma, caso a quantidade indicada na
coluna “vítimas” seja 0, o campo “natureza_acidente” será atualizado
para “SEM VÍTIMA”. Entretanto, caso a quantidade registrada na coluna
“vitimas” seja maior que 0, o campo “natureza_acidente” será atualizado
para “COM VÍTIMA”.
A_Total$natureza_acidente[which(A_Total$natureza_acidente=="OUTROS" & A_Total$vitimas==0)]<-"SEM VÍTIMA"
A_Total$natureza_acidente[which(A_Total$natureza_acidente=="OUTROS" & A_Total$vitimas>0)]<-"COM VÍTIMA"
15 - Reclassificação para a categoria “SEM VÍTIMA” do registro
(apenas 01) em que o campo “natureza_acidente” foi representado como
“APOIO”. Tal ação foi possível, pois à análise dos demais campos desse
registro, inferiu-se, conforme informações das colunas “tipo” e
’vitima”, que se tratava de acidente sem vítimas.
A_Total$natureza_acidente[which(A_Total$natureza_acidente=="APOIO")]<-"SEM VÍTIMA"
16 - Reclassificação para a categoria “OUTROS” das informações
inseridas como “ENTRADA E SAÍDA” na coluna “natureza_acidente” e
“SUBURBIO” na coluna “tipo”, uma vez que não se tem maiores informações
do acidente. Na realidade trata-se de apenas um caso que, mesmo dispondo
de praticamente nenhuma informação, foi mantido na base de dados.
A_Total$natureza_acidente[which(A_Total$natureza_acidente=="ENTRADA E SAÍDA")]<-"OUTROS"
A_Total$tipo[which(A_Total$tipo=="SUBURBIO")]<-"OUTROS"
17 - Tratamento dos registros sem indicação de endereço na
coluna “endereco”, representadas como “NA”. Tais casos foram
reclassificadas para uma nova categoria criada: “OUTROS”. “OUTROS”
agrupará as ocorrências em que não foi destacado o endereço, uma vez que
não é possível determiná-lo com certeza.
A_Total$endereco[is.na(A_Total$endereco)==T]<-"OUTROS"
18 - Importante destacar que na caraterização dos tipos de
veículos, a bicicleta (inerente ao ciclista) foi contabilizada como um
tipo de veículo.
Além das análises de consistência e tratamentos de dados
anteriores, estabeleceu-se como ponto fundamental do Projeto a análise
de consistência dos endereços (logradouros) nos quais os acidentes foram
registrados com base nos bairros a ele correspondentes.
Tal etapa foi uma das mais trabalhosas, onde foram identificadas centenas de divergências em relação à consistência do conjunto endereço x bairro Para se constatar a correta disposição do conjunto bairro x endereço foi utilizado o sitio dos correios: https://buscacepinter.correios.com.br/app/localidade_logradouro/index.php.
O link dos correios utilizado possibilita, a partir do conhecimento de um logradouro específico, a determinação do bairro a ele correspondente. Importante destacar que no link disponibilizado pelos Correios para pesquisa de logradouros, não é possível a consulta de determinados tipos de logradouros como “pontes”, “viadutos” e “túneis”, não sendo, portanto, tais tipos de endereço objeto de análise.
Diante disso, foram consultados os endereços dos registros em
que o bairro foi indicado ou convertido como “OUTROS” e também aqueles
que aparecem repetidos em bairros distintos. É natural que um mesmo
logradouro se faça presente em mais de um bairro, no entanto,
verificou-se que grande parte dessas ocorrências (indicação de mesmo
logradouro em bairros distintos) se deu devido a erros de
preenchimento.
Também, importante destacar que quanto à existência de um mesmo
logradouro em bairros distintos, dois casos são possíveis:
1 - Trata-se de um mesmo logradouro (exemplo: mesma rua, mesma avenida) que percorrem bairros distintos; ou
2 - Tratam-se de logradouros distintos existentes em bairros distintos. Nesse caso, quando da constatação de logradouros distintos, mas que possuem a mesma identificação, a coluna “endereço” de pelo menos um desses logradouros foi atualizada para o nome do logradouro acrescentando-se o sufixo “ – IDENTIFICADOR XXX”.
Exemplo: Existência de Registros de “Rua K” no Bairro A versus “Rua K” no Bairro: B
Tomando-se como referência o
enderenço:
1 - Nas situações que o nome do bairro estava indicado de forma
divergente, o campo “endereco” foi ajustado para o bairro correto.
Muitas vezes são indicados bairros circunvizinhos ao invés do bairro
correto.
2 - Nas situações em que o nome registrado para o bairro não
estava correto, mas existia certa correlação do bairro indicado com
aquele que verdadeiramente se aplicaria, o campo “bairro” foi atualizado
para “OUTROS”. Tal tipo de divergência de registro é justificável, pois
nem sempre as pessoas que informam o acidente têm noção do bairro em que
o sinistro verdadeiramente ocorreu ou mesmo as pessoas que registram o
acidente no sistema cometem erros de preenchimento de dados.
Nesse sentido, o nome do logradouro apresenta-se como uma informação bem mais fácil, palpável e confiável na análise e confirmação da consistência das informações dispostas.
3 - Nos casos em que foi identificada grande divergência na
indicação das informações de endereço e bairro, optou-se pela indicação
de “OUTROS”, tanto no campo “endereço” quanto no campo “bairro”, em
função da baixa confiabilidade do dados registrados nesses campos.
Assim, foram efetuados os ajustes seguintes:
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='AV ALFREDO LISBOA']<-'BAIRRO DO RECIFE'
A_Total$bairro[A_Total$bairro %in% 'ALTO SANTA TERESINHA' & A_Total$endereco=='AV ANIBAL BENEVOLO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('BOA VIAGEM','BRASÍLIA TEIMOSA','CABANGA') & A_Total$endereco=='AV ANTONIO DE GOES']<-'PINA'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='AV ANTONIO TORRES GALVAO']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='AV ARMINDO MOURA']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='AV BARAO DE BONITO']<-'VÁRZEA'
A_Total$bairro[A_Total$bairro %in% 'CAMPO GRANDE' & A_Total$endereco=='AV BEBERIBE']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'PINA' & A_Total$endereco=='AV BRASILIA FORMOSA']<-'BRASÍLIA TEIMOSA'
A_Total$bairro[A_Total$bairro %in% c('AFOGADOS','CIDADE UNIVERSITÁRIA','ENGENHO DO MEIO','PRADO') & A_Total$endereco=='AV CAXANGA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'LINHA DO TIRO' & A_Total$endereco=='AV CHAGAS FERREIRA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'IBURA' & A_Total$endereco=='AV CHAPADA DO ARARIPE']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% c('CAJUEIRO','FUNDÃO') & A_Total$endereco=='AV CIDADE DE MONTEIRO']<-'PORTO DA MADEIRA'
A_Total$bairro[A_Total$bairro %in% c('ROSARINHO','CASA AMARELA') & A_Total$endereco=='AV CONS ROSA E SILVA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='AV CORREIA DE BRITO']<-'CAMPO GRANDE'
A_Total$bairro[A_Total$bairro %in% c('BOA VISTA','OUTROS') & A_Total$endereco=='AV CRUZ CABUGA']<-'SANTO AMARO'
A_Total$bairro[A_Total$bairro %in% 'MACAXEIRA' & A_Total$endereco=='AV DA RECUPERACAO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'BAIRRO DO RECIFE' & A_Total$endereco=='AV DANTAS BARRETO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('APIPUCOS','DOIS IRMÃOS') & A_Total$endereco=='AV DEZESSETE DE AGOSTO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'IPSEP' & A_Total$endereco=='AV DOIS RIOS']<-'IBURA'
A_Total$bairro[A_Total$bairro %in% 'IPSEP' & A_Total$endereco=='AV DOM HELDER CAMARA']<-'IBURA'
A_Total$bairro[A_Total$bairro %in% 'IBURA' & A_Total$endereco=='AV DOZE DE JUNHO']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% c('COQUEIRAL','JARDIM SÃO PAULO','MADALENA','MANGUEIRA','SAN MARTIN') & A_Total$endereco=='AV DR JOSE RUFINO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('JAQUEIRA','ROSARINHO') & A_Total$endereco=='AV DR MALAQUIAS']<-'GRAÇAS'
A_Total$bairro[A_Total$bairro %in% c('MUSTARDINHA','TORREÃO') & A_Total$endereco=='AV ENGENHEIRO ABDIAS DE CARVALHO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('ESPINHEIRO','SANTO AMARO') & A_Total$endereco=='AV ENGENHEIRO AGAMENON DE MAGALHAES MELO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('CABANGA','ENCRUZILHADA','SANTO ANTÔNIO') & A_Total$endereco=='AV ENGENHEIRO JOSE ESTELITA']<-'SÃO JOSÉ'
A_Total$bairro[A_Total$bairro %in% 'IBURA' & A_Total$endereco=='AV ENGENHO SERRA VERDE']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% 'CASA FORTE' & A_Total$endereco=='AV FLOR DE SANTANA']<-'PARNAMIRIM'
A_Total$bairro[A_Total$bairro %in% c('BOA VIAGEM','IPSEP') & A_Total$endereco=='AV GENERAL MAC ARTHUR']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% c('BONGI','TORRÕES') & A_Total$endereco=='AV GENERAL SAN MARTIN']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('BAIRRO DO RECIFE','CABANGA','ILHA DO RETIRO','ILHA JOANA BEZERRA','TORRÕES') & A_Total$endereco=='AV GOVERNADOR AGAMENON MAGALHAES']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('DERBY','OUTROS') & A_Total$endereco=='AV GOVERNADOR CARLOS DE LIMA CAVALCANTI']<-'BOA VISTA'
A_Total$bairro[A_Total$bairro %in% c('BOA VISTA','SÃO JOSÉ') & A_Total$endereco=='AV GUARARAPES']<-'SANTO ANTÔNIO'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='AV HERCULANO BANDEIRA']<-'PINA'
A_Total$bairro[A_Total$bairro %in% 'IPUTINGA' & A_Total$endereco=='AV INACIO MONTEIRO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'SAN MARTIN' & A_Total$endereco=='AV JOAO CABRAL DE MELO NETO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'IPUTINGA' & A_Total$endereco=='AV JOAQUIM RIBEIRO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'IBURA' & A_Total$endereco=='AV JORNALISTA COSTA PORTO']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% 'NOVA DESCOBERTA' & A_Total$endereco=='AV JOSE AMERICO DE ALMEIDA']<-'MACAXEIRA'
A_Total$bairro[A_Total$bairro %in% c('ILHA DO LEITE','ILHA DO RETIRO','OUTROS') & A_Total$endereco=='AV JOSE GONCALVES DE MEDEIROS']<-'MADALENA'
A_Total$bairro[A_Total$bairro %in% 'ILHA DO LEITE' & A_Total$endereco=='AV LINS PETIT']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'AFOGADOS' & A_Total$endereco=='AV MANOEL GONCALVES DA LUZ']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='AV MARECHAL JUAREZ TAVORA']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'AFOGADOS' & A_Total$endereco=='AV MARECHAL MASCARENHAS DE MORAES']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'ENGENHO DO MEIO' & A_Total$endereco=='AV MARIO ALVARES PEREIRA DE LYRA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'SANTO ANTÔNIO' & A_Total$endereco=='AV MARQUES DE OLINDA']<-'BAIRRO DO RECIFE'
A_Total$bairro[A_Total$bairro %in% c('BAIRRO DO RECIFE','BOA VISTA','OUTROS','SANTANA','SÃO JOSÉ') & A_Total$endereco=='AV MARTINS DE BARROS']<-'SANTO ANTÔNIO'
A_Total$bairro[A_Total$bairro %in% 'IBURA' & A_Total$endereco=='AV MATO GROSSO']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% 'CAXANGÁ' & A_Total$endereco=='AV MAURICIO DE NASSAU']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'DERBY' & A_Total$endereco=='AV MONTEVIDEU']<-'BOA VISTA'
A_Total$bairro[A_Total$bairro %in% 'SÃO JOSÉ' & A_Total$endereco=='AV N S DO CARMO']<-'SANTO ANTÔNIO'
A_Total$bairro[A_Total$bairro %in% c('AFLITOS','ARRUDA','BAIRRO DO RECIFE','BOMBA DO HEMETÉRIO','PARNAMIRIM','TORRÕES') & A_Total$endereco=='AV NORTE']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'JAQUEIRA' & A_Total$endereco=='AV PARNAMIRIM']<-'PARNAMIRIM'
A_Total$bairro[A_Total$bairro %in% 'IBURA' & A_Total$endereco=='AV PERNAMBUCO']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% 'CURADO' & A_Total$endereco=='AV PREFEITO ANTONIO PEREIRA']<-'VÁRZEA'
A_Total$bairro[A_Total$bairro %in% c('AREIAS','BOA VIAGEM','IPSEP') & A_Total$endereco=='AV PRESIDENTE DUTRA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('CAXANGÁ','TORRE') & A_Total$endereco=='AV PROFESSOR ESTEVAO FRANCISCO DA COSTA']<-'CORDEIRO'
A_Total$bairro[A_Total$bairro %in% c('ÁGUA FRIA','BOMBA DO HEMETÉRIO','CAMPINA DO BARRETO','MANGABEIRA','ROSARINHO') & A_Total$endereco=='AV PROFESSOR JOSE DOS ANJOS']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'BRASÍLIA TEIMOSA' & A_Total$endereco=='RUA COMENDADOR MORAES']<-'PINA'
A_Total$bairro[A_Total$bairro %in% 'MADALENA' & A_Total$endereco=='RUA CONDE DE IRAJA']<-'TORRE'
A_Total$bairro[A_Total$bairro %in% c('ÁGUA FRIA','CASA AMARELA','PARNAMIRIM','ROSARINHO') & A_Total$endereco=='RUA CONEGO BARATA']<-'TAMARINEIRA'
A_Total$bairro[A_Total$bairro %in% c('MADALENA','TORRE') & A_Total$endereco=='RUA CONS THEODORO']<-'ZUMBI'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA COPACABANA']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'DOIS UNIDOS' & A_Total$endereco=='RUA CORONEL PILAR']<-'PASSARINHO'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA CORREGO ANTONIO RODRIGUES']<-'ÁGUA FRIA'
A_Total$bairro[A_Total$bairro %in% 'NOVA DESCOBERTA' & A_Total$endereco=='RUA CORREGO DA BICA']<-'PASSARINHO'
A_Total$bairro[A_Total$bairro %in% c('BOMBA DO HEMETÉRIO','CASA AMARELA','LINHA DO TIRO') & A_Total$endereco=='RUA CORREGO DO EUCLIDES']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('ALTO JOSÉ DO PINHO','ALTO SANTA TERESINHA','BOMBA DO HEMETÉRIO') & A_Total$endereco=='RUA CORREGO JOSE GRANDE']<-'ALTO JOSÉ BONIFÁCIO'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA COSMORAMA']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'ARRUDA' & A_Total$endereco=='RUA COUTO MAGALHAES']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'SANTO ANTÔNIO' & A_Total$endereco=='RUA DA AURORA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA DA CAROLINA']<-'CASA AMARELA'
A_Total$bairro[A_Total$bairro %in% 'CASA AMARELA' & A_Total$endereco=='RUA DA MANGABEIRA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'NOVA DESCOBERTA' & A_Total$endereco=='RUA DA PAZ']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('BEBERIBE','CAMPINA DO BARRETO') & A_Total$endereco=='RUA DA REGENERACAO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'PINA' & A_Total$endereco=='RUA DAGOBERTO PIRES']<-'BRASÍLIA TEIMOSA'
A_Total$bairro[A_Total$bairro %in% 'BEBERIBE' & A_Total$endereco=='RUA DALVA DE OLIVEIRA']<-'PORTO DA MADEIRA'
A_Total$bairro[A_Total$bairro %in% c('AFLITOS','DERBY') & A_Total$endereco=='RUA DAS CREOULAS']<-'GRAÇAS'
A_Total$bairro[A_Total$bairro %in% 'GUABIRABA' & A_Total$endereco=='RUA DAS FLORES']<-'BREJO DA GUABIRABA'
A_Total$bairro[A_Total$bairro %in% 'ILHA DO LEITE' & A_Total$endereco=='RUA DAS FRONTEIRAS']<-'BOA VISTA'
A_Total$bairro[A_Total$bairro %in% 'GRAÇAS' & A_Total$endereco=='RUA DAS MOCAS']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'CASA FORTE' & A_Total$endereco=='RUA DE APIPUCOS']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('BONGI','CORDEIRO') & A_Total$endereco=='RUA DELMIRO GOUVEIA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'TORRE' & A_Total$endereco=='RUA DEMOCRITO DE SOUZA FILHO']<-'MADALENA'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA DEPUTADO JOSE FRANCISCO DE MELO CAVALCANTI']<-'CAXANGÁ'
A_Total$bairro[A_Total$bairro %in% 'JAQUEIRA' & A_Total$endereco=='RUA DEPUTADO PEDRO PIRES FERREIRA']<-'GRAÇAS'
A_Total$bairro[A_Total$bairro %in% 'AFLITOS' & A_Total$endereco=='RUA DES MARTINS PEREIRA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'IMBIRIBEIRA' & A_Total$endereco=='RUA DEZ DE JULHO']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'TORRE' & A_Total$endereco=='RUA DIANOPOLIS']<-'CORDEIRO'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA DIVISOPOLIS']<-'DOIS UNIDOS'
A_Total$bairro[A_Total$bairro %in% c('AFLITOS','ESPINHEIRO') & A_Total$endereco=='RUA DO FUTURO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('BAIRRO DO RECIFE','SÃO JOSÉ') & A_Total$endereco=='RUA DO HOSPICIO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'CAMPO GRANDE' & A_Total$endereco=='RUA DO MACHADO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('CASA AMARELA','CASA FORTE') & A_Total$endereco=='RUA DO MARQUES']<-'PARNAMIRIM'
A_Total$bairro[A_Total$bairro %in% c('OUTROS','SANTO ANTÔNIO') & A_Total$endereco=='RUA DO PEIXOTO']<-'SÃO JOSÉ'
A_Total$bairro[A_Total$bairro %in% 'BAIRRO DO RECIFE' & A_Total$endereco=='RUA DO PRINCIPE']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'SANTO AMARO' & A_Total$endereco=='RUA DO PROGRESSO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'SÃO JOSÉ' & A_Total$endereco=='RUA DO SOL']<-'SANTO ANTÔNIO'
A_Total$bairro[A_Total$bairro %in% 'ARRUDA' & A_Total$endereco=='RUA DO SOSSEGO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'CASA AMARELA' & A_Total$endereco=='RUA DOIS DE FEVEREIRO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'MACAXEIRA' & A_Total$endereco=='RUA DOIS IRMAOS']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('DERBY','GRAÇAS','OUTROS') & A_Total$endereco=='RUA DOM BOSCO']<-'BOA VISTA'
A_Total$bairro[A_Total$bairro %in% 'DOIS IRMÃOS' & A_Total$endereco=='RUA DOM MANOEL DA COSTA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'PINA' & A_Total$endereco=='RUA DOM PAULO II']<-'ILHA JOANA BEZERRA'
A_Total$bairro[A_Total$bairro %in% 'CAMPO GRANDE' & A_Total$endereco=='RUA DONA ELVIRA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('ILHA DO LEITE','SÃO JOSÉ') & A_Total$endereco=='RUA DOS COELHOS']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'BOA VISTA' & A_Total$endereco=='RUA DOS PALMARES']<-'SANTO AMARO'
A_Total$bairro[A_Total$bairro %in% 'MACAXEIRA' & A_Total$endereco=='RUA DR ALTO CAETE']<-'NOVA DESCOBERTA'
A_Total$bairro[A_Total$bairro %in% c('DERBY','ESPINHEIRO') & A_Total$endereco=='RUA DR BANDEIRA FILHO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('IBURA','OUTROS') & A_Total$endereco=='RUA DR BENIGNO JORDAO DE VASCONCELOS']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% 'BOMBA DO HEMETÉRIO' & A_Total$endereco=='RUA DR EUDES COSTA']<-'ÁGUA FRIA'
A_Total$bairro[A_Total$bairro %in% 'ENCRUZILHADA' & A_Total$endereco=='RUA DR FERNANDO ALLAIN']<-'ESPINHEIRO'
A_Total$bairro[A_Total$bairro %in% 'SAN MARTIN' & A_Total$endereco=='RUA DR FLAVIO FERREIRA DA SILVA MAROJO']<-'TORRÕES'
A_Total$bairro[A_Total$bairro %in% c('AFLITOS','JAQUEIRA','PARNAMIRIM') & A_Total$endereco=='RUA DR JOSE MARIA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'IBURA' & A_Total$endereco=='RUA DR OTAVIO DE MORAES VASCONCELOS']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% 'DERBY' & A_Total$endereco=='RUA DR SEVERINO PINHEIRO']<-'MADALENA'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='RUA DUQUE ESTRADA']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% c('CAXANGÁ','CIDADE UNIVERSITÁRIA') & A_Total$endereco=='RUA EMILIANO BRAGA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'JORDÃO' & A_Total$endereco=='RUA EMILIO MONTEIRO FONSECA']<-'IBURA'
A_Total$bairro[A_Total$bairro %in% 'CASA FORTE' & A_Total$endereco=='RUA ENGENHEIRO OSCAR FERREIRA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'ESTÂNCIA' & A_Total$endereco=='RUA ERNESTO NAZARETH']<-'AREIAS'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA ESCRITOR JOAQUIM NOBERTO']<-'VÁRZEA'
A_Total$bairro[A_Total$bairro %in% c('IBURA','OUTROS') & A_Total$endereco=='RUA EXP FRANCISCO VITORIANO']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% c('ARRUDA','CAMPINA DO BARRETO') & A_Total$endereco=='RUA EXP JAMIL DAGLI']<-'ÁGUA FRIA'
A_Total$bairro[A_Total$bairro %in% 'ARRUDA' & A_Total$endereco=='RUA FARIAS NEVES']<-'CAMPO GRANDE'
A_Total$bairro[A_Total$bairro %in% c('CORDEIRO','PRADO') & A_Total$endereco=='RUA FIDELIS MOLITERNO']<-'ZUMBI'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='RUA FRANCISCO CORREIA DE MORAES']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% 'PINA' & A_Total$endereco=='RUA FRANCISCO DA CUNHA']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'PONTO DE PARADA' & A_Total$endereco=='RUA FREDERICO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA GASTAO VIDIGAL']<-'VÁRZEA'
A_Total$bairro[A_Total$bairro %in% 'SANTO AMARO' & A_Total$endereco=='RUA GENERAL ABREU E LIMA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('COQUEIRAL','SANTANA','TEJIPIÓ') & A_Total$endereco=='RUA GENERAL MANUEL RABELO']<-'AREIAS'
A_Total$bairro[A_Total$bairro %in% c('CIDADE UNIVERSITÁRIA','OUTROS') & A_Total$endereco=='RUA GENERAL POLIDORO']<-'VÁRZEA'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA GENERAL SALGADO']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'PARNAMIRIM' & A_Total$endereco=='RUA GOMES COUTINHO']<-'TAMARINEIRA'
A_Total$bairro[A_Total$bairro %in% c('CAXANGÁ','SAN MARTIN','MADALENA') & A_Total$endereco=='RUA GOMES TABORDA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('CAXANGÁ','PRADO') & A_Total$endereco=='RUA GREGORIO JUNIOR']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'MANGABEIRA' & A_Total$endereco=='RUA GUIMARAES PEIXOTO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('BOA VIAGEM','PAISSANDU') & A_Total$endereco=='RUA HENRIQUE DIAS']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'PRADO' & A_Total$endereco=='RUA HERCULES FLORENCE']<-'BONGI'
A_Total$bairro[A_Total$bairro %in% 'AFLITOS' & A_Total$endereco=='RUA HOEL SETTE']<-'JAQUEIRA'
A_Total$bairro[A_Total$bairro %in% 'CAXANGÁ' & A_Total$endereco=='RUA HONORIO CORREIA']<-'CORDEIRO'
A_Total$bairro[A_Total$bairro %in% c('SANTO AMARO','SÃO JOSÉ') & A_Total$endereco=='RUA IMPERADOR PEDRO SEGUNDO']<-'SANTO ANTÔNIO'
A_Total$bairro[A_Total$bairro %in% c('AFOGADOS','ILHA JOANA BEZERRA','JARDIM SÃO PAULO','OUTROS','SANTO ANTÔNIO') & A_Total$endereco=='RUA IMPERIAL']<-'SÃO JOSÉ'
A_Total$bairro[A_Total$bairro %in% 'IPSEP' & A_Total$endereco=='RUA ITACARE']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% 'IPSEP' & A_Total$endereco=='RUA ITACARI']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% 'IPSEP' & A_Total$endereco=='RUA ITAJAI']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% 'BRASÍLIA TEIMOSA' & A_Total$endereco=='RUA IVONETE FERREIRA DA SILVA']<-'PINA'
A_Total$bairro[A_Total$bairro %in% 'IPSEP' & A_Total$endereco=='RUA JAMAICA']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% 'GRAÇAS' & A_Total$endereco=='RUA JANUARIO BARBOSA']<-'MADALENA'
A_Total$bairro[A_Total$bairro %in% 'CASA AMARELA' & A_Total$endereco=='RUA JAPARANDUBA']<-'ÁGUA FRIA'
A_Total$bairro[A_Total$bairro %in% c('BAIRRO DO RECIFE','DERBY') & A_Total$endereco=='RUA JENER DE SOUZA']<-'GRAÇAS'
A_Total$bairro[A_Total$bairro %in% 'ARRUDA' & A_Total$endereco=='RUA JERONIMO VILELA']<-'CAMPO GRANDE'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA JOAO CARDOSO AIRES']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% c('DERBY','ESPINHEIRO','GRAÇAS','SANTO AMARO') & A_Total$endereco=='RUA JOAO FERNANDES VIEIRA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'AFOGADOS' & A_Total$endereco=='RUA JOAO IVO DA SILVA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'BOA VISTA' & A_Total$endereco=='RUA JOAO LIRA']<-'SANTO AMARO'
A_Total$bairro[A_Total$bairro %in% 'CABANGA' & A_Total$endereco=='RUA JOAO PAULO II']<-'ILHA JOANA BEZERRA'
A_Total$bairro[A_Total$bairro %in% 'CAXANGÁ' & A_Total$endereco=='RUA JOAO SALES MENEZES']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'AREIAS' & A_Total$endereco=='RUA JOAO TEIXEIRA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('CASA FORTE','TAMARINEIRA','TORRE') & A_Total$endereco=='RUA JOAO TUDE DE MELO']<-'PARNAMIRIM'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='RUA JOAQUIM BANDEIRA']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% 'BOA VISTA' & A_Total$endereco=='RUA JOAQUIM DE BRITO']<-'ILHA DO LEITE'
A_Total$bairro[A_Total$bairro %in% 'BAIRRO DO RECIFE' & A_Total$endereco=='RUA JOAQUIM FELIPE']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'MADALENA' & A_Total$endereco=='RUA JOAQUIM NABUCO']<-'GRAÇAS'
A_Total$bairro[A_Total$bairro %in% 'AREIAS' & A_Total$endereco=='RUA JORGE ABRANTES']<-'JIQUIÁ'
A_Total$bairro[A_Total$bairro %in% 'CASA FORTE' & A_Total$endereco=='RUA JORGE GOMES DE SA']<-'SANTANA'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='RUA JOSE DA SILVA LUCENA']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% 'SOLEDADE' & A_Total$endereco=='RUA JOSE DE ALENCAR']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA JOSE HIPOLITO CARDOSO']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'ILHA DO RETIRO' & A_Total$endereco=='RUA JOSE MUCIO MONTEIRO']<-'MADALENA'
A_Total$bairro[A_Total$bairro %in% 'JARDIM SÃO PAULO' & A_Total$endereco=='RUA JOSE NATARIO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('CAXANGÁ','OUTROS','TORRE') & A_Total$endereco=='RUA JOSE OSORIO']<-'MADALENA'
A_Total$bairro[A_Total$bairro %in% c('CASA FORTE','TORRE') & A_Total$endereco=='RUA LEONARDO BEZERRA CAVALCANTE']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'DERBY' & A_Total$endereco=='RUA LUIZ BARBALHO']<-'BOA VISTA'
A_Total$bairro[A_Total$bairro %in% c('SÃO JOSÉ','SÃO JOSÉ') & A_Total$endereco=='RUA MADRE DEUS']<-'BAIRRO DO RECIFE'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA MAJOR ARMANDO DE SOUZA MELLO']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% c('CASA AMARELA','MACAXEIRA') & A_Total$endereco=='RUA MANDACARU']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA MANOEL BUFFONE PIRES']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% 'CORDEIRO' & A_Total$endereco=='RUA MANOEL DE ARRUDA CAMARA']<-'PRADO'
A_Total$bairro[A_Total$bairro %in% 'VÁRZEA' & A_Total$endereco=='RUA MANOEL JOAQUIM DE ALMEIDA']<-'IPUTINGA'
A_Total$bairro[A_Total$bairro %in% c('OUTROS','SÍTIO DOS PINTOS') & A_Total$endereco=='RUA MANUEL DE MEDEIROS']<-'DOIS IRMÃOS'
A_Total$bairro[A_Total$bairro %in% 'TORREÃO' & A_Total$endereco=='RUA MARECHAL DEODORO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('CIDADE UNIVERSITÁRIA','IPUTINGA') & A_Total$endereco=='RUA MARECHAL MANOEL LUIS OSORIO']<-'VÁRZEA'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA MARIANO CARNEIRO DA CUNHA']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% 'ARRUDA' & A_Total$endereco=='RUA MARQUES DE BAIPENDI']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'ENCRUZILHADA' & A_Total$endereco=='RUA MARQUES DO PARANA']<-'ESPINHEIRO'
A_Total$bairro[A_Total$bairro %in% c('CIDADE UNIVERSITÁRIA','ENGENHO DO MEIO') & A_Total$endereco=='RUA MAURICEIA']<-'IPUTINGA'
A_Total$bairro[A_Total$bairro %in% 'TORRE' & A_Total$endereco=='RUA MAURICIO DE NASSAU']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('ARRUDA','HIPÓDROMO') & A_Total$endereco=='RUA MEM DE SA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'CURADO' & A_Total$endereco=='RUA MINISTRO MARIO ANDREAZZA']<-'VÁRZEA'
A_Total$bairro[A_Total$bairro %in% c('CASA FORTE','PARNAMIRIM','CASA FORTE','PARNAMIRIM') & A_Total$endereco=='RUA NESTOR SILVA']<-'POÇO DA PANELA'
A_Total$bairro[A_Total$bairro %in% 'ROSARINHO' & A_Total$endereco=='RUA NETO DE MENDONCA']<-'TAMARINEIRA'
A_Total$bairro[A_Total$bairro %in% 'PRADO' & A_Total$endereco=='RUA NOBRE DE LACERDA']<-'MADALENA'
A_Total$bairro[A_Total$bairro %in% 'CAMPO GRANDE' & A_Total$endereco=='RUA NOGUEIRA LIMA']<-'HIPÓDROMO'
A_Total$bairro[A_Total$bairro %in% 'JORDÃO' & A_Total$endereco=='RUA NOVA CANAA']<-'IBURA'
A_Total$bairro[A_Total$bairro %in% 'SANTO AMARO' & A_Total$endereco=='RUA ODORICO MENDES']<-'CAMPO GRANDE'
A_Total$bairro[A_Total$bairro %in% 'TOTÓ' & A_Total$endereco=='RUA ORFEU DO CARNAVAL']<-'SANCHO'
A_Total$bairro[A_Total$bairro %in% 'ENGENHO DO MEIO' & A_Total$endereco=='RUA OSVALDO GUIMARAES']<-'IPUTINGA'
A_Total$bairro[A_Total$bairro %in% 'AREIAS' & A_Total$endereco=='RUA PADRE NOBREGA']<-'BARRO'
A_Total$bairro[A_Total$bairro %in% c('BOMBA DO HEMETÉRIO','CASA AMARELA') & A_Total$endereco=='RUA PADRE OLIVEIRA']<-'ALTO JOSÉ DO PINHO'
A_Total$bairro[A_Total$bairro %in% 'JAQUEIRA' & A_Total$endereco=='RUA PADRE ROMA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'ILHA DO LEITE' & A_Total$endereco=='RUA PADRE VENANCIO']<-'COELHOS'
A_Total$bairro[A_Total$bairro %in% 'IPSEP' & A_Total$endereco=='RUA PAMPULHA']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='RUA PARIS']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% 'ROSARINHO' & A_Total$endereco=='RUA PROFESSOR OTAVIO DE FREITAS']<-'ENCRUZILHADA'
A_Total$bairro[A_Total$bairro %in% c('GRAÇAS','BOA VISTA') & A_Total$endereco=='RUA QUARENTA E OITO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'COQUEIRAL' & A_Total$endereco=='RUA QUINZE DE NOVEMBRO']<-'TEJIPIÓ'
A_Total$bairro[A_Total$bairro %in% 'ÁGUA FRIA' & A_Total$endereco=='RUA RAUL POMPEIA']<-'ARRUDA'
A_Total$bairro[A_Total$bairro %in% c('BOA VIAGEM','JORDÃO') & A_Total$endereco=='RUA REMIGIO']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% 'IMBIRIBEIRA' & A_Total$endereco=='RUA RIBEIRO DE BRITO']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% c('VÁRZEA','DOIS IRMÃOS','IPUTINGA') & A_Total$endereco=='RUA RIBEIRO PESSOA']<-'CAXANGÁ'
A_Total$bairro[A_Total$bairro %in% 'JAQUEIRA' & A_Total$endereco=='RUA RICARDO HARDMAN']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA RIO AZUL']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA RIO BRIGIDA']<-'IBURA'
A_Total$bairro[A_Total$bairro %in% 'BARRO' & A_Total$endereco=='RUA RIO SOLIMOES']<-'AREIAS'
A_Total$bairro[A_Total$bairro %in% 'JORDÃO' & A_Total$endereco=='RUA RIO XINGU']<-'IBURA'
A_Total$bairro[A_Total$bairro %in% 'CAXANGÁ' & A_Total$endereco=='RUA RODRIGUES FERREIRA']<-'VÁRZEA'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA SA E SOUZA']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'ESPINHEIRO' & A_Total$endereco=='RUA SAMUEL CAMPELO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('CASA FORTE','POÇO DA PANELA') & A_Total$endereco=='RUA SAMUEL FARIAS']<-'SANTANA'
A_Total$bairro[A_Total$bairro %in% 'ALTO DO MANDU' & A_Total$endereco=='RUA SANTA IZABEL']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'SANTO ANTÔNIO' & A_Total$endereco=='RUA SANTA RITA']<-'SÃO JOSÉ'
A_Total$bairro[A_Total$bairro %in% 'NOVA DESCOBERTA' & A_Total$endereco=='RUA SANTA TEREZA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'SANTANA' & A_Total$endereco=='RUA SANTANA']<-'CASA FORTE'
A_Total$bairro[A_Total$bairro %in% 'BOMBA DO HEMETÉRIO' & A_Total$endereco=='RUA SAO BENTO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'BOA VISTA' & A_Total$endereco=='RUA SAO GERALDO']<-'SANTO AMARO'
A_Total$bairro[A_Total$bairro %in% 'COELHOS' & A_Total$endereco=='RUA SAO GONCALO']<-'BOA VISTA'
A_Total$bairro[A_Total$bairro %in% 'SANTO ANTÔNIO' & A_Total$endereco=='RUA SAO JOAO']<-'SÃO JOSÉ'
A_Total$bairro[A_Total$bairro %in% c('AREIAS','ESTÂNCIA','JIQUIÁ','MANGUEIRA','MUSTARDINHA') & A_Total$endereco=='RUA SAO MIGUEL']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'DERBY' & A_Total$endereco=='RUA SAO SALVADOR']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='RUA SARGENTO SILVINO DE MACEDO']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% 'PARNAMIRIM' & A_Total$endereco=='RUA SEBASTIAO ALVES']<-'TAMARINEIRA'
A_Total$bairro[A_Total$bairro %in% 'SAN MARTIN' & A_Total$endereco=='RUA SENADOR ALBERTO PASQUALINI']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'GRAÇAS' & A_Total$endereco=='RUA SIMAO MENDES']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'SÃO JOSÉ' & A_Total$endereco=='RUA SIQUEIRA CAMPOS']<-'SANTO ANTÔNIO'
A_Total$bairro[A_Total$bairro %in% c('DERBY','PAISSANDU') & A_Total$endereco=='RUA SPORT CLUBE DO RECIFE']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'AFOGADOS' & A_Total$endereco=='RUA TABAIARES']<-'ILHA DO RETIRO'
A_Total$bairro[A_Total$bairro %in% 'TORRÕES' & A_Total$endereco=='RUA TAMBORIL']<-'CORDEIRO'
A_Total$bairro[A_Total$bairro %in% 'CAMPINA DO BARRETO' & A_Total$endereco=='RUA TENENTE WANDERLEY']<-'CAJUEIRO'
A_Total$bairro[A_Total$bairro %in% 'NOVA DESCOBERTA' & A_Total$endereco=='RUA TEREZA CARNEIRO']<-'MACAXEIRA'
A_Total$bairro[A_Total$bairro %in% 'TORRÕES' & A_Total$endereco=='RUA TIJUCAS']<-'CORDEIRO'
A_Total$bairro[A_Total$bairro %in% 'JAQUEIRA' & A_Total$endereco=='RUA TITO ROSAS']<-'PARNAMIRIM'
A_Total$bairro[A_Total$bairro %in% 'TORRE' & A_Total$endereco=='RUA TOMAZ GONZAGA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'BOA VISTA' & A_Total$endereco=='RUA TREZE DE MAIO']<-'SANTO AMARO'
A_Total$bairro[A_Total$bairro %in% 'DOIS UNIDOS' & A_Total$endereco=='RUA URIEL DE HOLANDA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('IBURA','OUTROS') & A_Total$endereco=='RUA VALE DO CARIRI']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% 'IBURA' & A_Total$endereco=='RUA VALE DO ITAJAI']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% 'DOIS UNIDOS' & A_Total$endereco=='RUA VARZEA DO GILO']<-'PASSARINHO'
A_Total$bairro[A_Total$bairro %in% 'CASA AMARELA' & A_Total$endereco=='RUA VASCO DA GAMA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'SÃO JOSÉ' & A_Total$endereco=='RUA VELHA']<-'BOA VISTA'
A_Total$bairro[A_Total$bairro %in% 'DOIS IRMÃOS' & A_Total$endereco=='RUA VEREADOR PETRUS CAMARA']<-'SÍTIO DOS PINTOS'
A_Total$bairro[A_Total$bairro %in% 'MADALENA' & A_Total$endereco=='RUA VINTE E UM DE ABRIL']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA VISCONDE DE JEQUITINHONHA']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA WALDEMAR NERY CARNEIRO MONTEIRO']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA XAVANTES']<-'CASA AMARELA'
A_Total$bairro[A_Total$bairro %in% 'GUABIRABA' & A_Total$endereco=='RUA Z']<-'BREJO DA GUABIRABA'
A_Total$bairro[A_Total$bairro %in% c('BAIRRO DO RECIFE','SANTO ANTÔNIO') & A_Total$endereco=='TRV DO FORTE']<-'SÃO JOSÉ'
A_Total$bairro[A_Total$bairro %in% c('COELHOS','ILHA JOANA BEZERRA') & A_Total$endereco=='TRV DO RAPOSO']<-'SÃO JOSÉ'
A_Total$bairro[A_Total$bairro %in% 'SÃO JOSÉ' & A_Total$endereco=='RUA PRIMEIRO DE MARCO']<-'SANTO ANTÔNIO'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='RUA PROF PEDRO AUGUSTO CARNEIRO LEAO']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% c('BOA VISTA','SÃO JOSÉ','SANTO ANTÔNIO') & A_Total$endereco=='RUA PRINCESA IZABEL']<-'SANTO AMARO'
A_Total$bairro[A_Total$bairro %in% 'DOIS IRMÃOS' & A_Total$endereco=='RUA PROF CLAUDIO SELVA']<-'SÍTIO DOS PINTOS'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA PROFESSOR AUGUSTO LINS E SILVA']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'PINA' & A_Total$endereco=='RUA PROFESSOR ARNALDO CARNEIRO LEAO']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA PROFESSOR MARIO CASTRO']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% c('OUTROS','TORRÕES') & A_Total$endereco=='RUA PROFESSOR JOAQUIM XAVIER DE BRITO']<-'CORDEIRO'
A_Total$bairro[A_Total$bairro %in% 'IPUTINGA' & A_Total$endereco=='RUA PROFESSOR CHAVES BATISTA']<-'VÁRZEA'
A_Total$bairro[A_Total$bairro %in% 'ILHA DO RETIRO' & A_Total$endereco=='RUA PROFESSOR BENEDITO MONTEIRO']<-'MADALENA'
A_Total$bairro[A_Total$bairro %in% c('CAXANGÁ','CIDADE UNIVERSITÁRIA','IPUTINGA') & A_Total$endereco=='RUA PROFESSOR ANTONIO COELHO']<-'VÁRZEA'
A_Total$bairro[A_Total$bairro %in% 'ARRUDA' & A_Total$endereco=='RUA PROFESSOR JERONIMO GUEIROS']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'TOTÓ' & A_Total$endereco=='RUA PLANURA']<-'COQUEIRAL'
A_Total$bairro[A_Total$bairro %in% c('BOA VIAGEM','IMBIRIBEIRA','IPSEP') & A_Total$endereco=='RUA PINTOR LULA CARDOSO AYRES']<-'IBURA'
A_Total$bairro[A_Total$bairro %in% 'CAMPO GRANDE' & A_Total$endereco=='RUA PETRONILA BOTELHO']<-'ARRUDA'
A_Total$bairro[A_Total$bairro %in% 'ILHA DO LEITE' & A_Total$endereco=='RUA PAISSANDU']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'CABANGA' & A_Total$endereco=='AV CAXANGA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'VÁRZEA' & A_Total$endereco=='AV PROFESSOR LUIZ FREIRE']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'CAXANGÁ' & A_Total$endereco=='AV PROFESSOR MORAES REGO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'IBURA' & A_Total$endereco=='AV QUEIXARAMOBIM']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% c('BOA VIAGEM','IMBIRIBEIRA','JIQUIÁ','MANGUEIRA','SANTO AMARO','TORRÕES','VÁRZEA') & A_Total$endereco=='AV RECIFE']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='AV REPUBLICA ARABE UNIDA']<-'PINA'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='AV REPUBLICA DO LIBANO']<-'PINA'
A_Total$bairro[A_Total$bairro %in% 'SÃO JOSÉ' & A_Total$endereco=='AV RIO BRANCO']<-'BAIRRO DO RECIFE'
A_Total$bairro[A_Total$bairro %in% c('IBURA','OUTROS') & A_Total$endereco=='AV RIO SAO FRANCISCO']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% c('AFLITOS','DERBY','PARNAMIRIM','TORRE') & A_Total$endereco=='AV RUI BARBOSA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'IBURA' & A_Total$endereco=='AV SANTA FE']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% 'IBURA' & A_Total$endereco=='AV SANTOS']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% 'IBURA' & A_Total$endereco=='AV SAO PAULO']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% c('IBURA','OUTROS') & A_Total$endereco=='AV SERRA DA MANTIQUEIRA']<-'COHAB'
A_Total$bairro[A_Total$bairro %in% c('SANTO ANTÔNIO','CABANGA','COELHOS') & A_Total$endereco=='AV SUL']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('GUABIRABA','MACAXEIRA') & A_Total$endereco=='AV VEREADOR OTACILIO AZEVEDO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='AV VINTE DE JANEIRO']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% c('OUTROS','TORRE') & A_Total$endereco=='AV VISCONDE DE ALBUQUERQUE']<-'MADALENA'
A_Total$bairro[A_Total$bairro %in% 'CIDADE UNIVERSITÁRIA' & A_Total$endereco=='AV VISCONDE DE SAO LEOPOLDO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'BOA VISTA' & A_Total$endereco=='AV VISCONDE DE SUASSUNA']<-'SANTO AMARO'
A_Total$bairro[A_Total$bairro %in% 'IMBIRIBEIRA' & A_Total$endereco=='AVENIDA CELSO FURTADO (VIA MANGUE)']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'BAIRRO DO RECIFE' & A_Total$endereco=='C SANTA RITA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('AFLITOS','SÃO JOSÉ','SANTO ANTÔNIO') & A_Total$endereco=='CAIS DO APOLO']<-'BAIRRO DO RECIFE'
A_Total$bairro[A_Total$bairro %in% c('BOMBA DO HEMETÉRIO','CASA AMARELA') & A_Total$endereco=='COR DO BARTOLOMEU']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'PARNAMIRIM' & A_Total$endereco=='EST DAS UBAIAS-']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'PARNAMIRIM' & A_Total$endereco=='EST DAS UBAIAS,']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'PARNAMIRIM' & A_Total$endereco=='EST DO ARRAIAL']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'ENGENHO DO MEIO' & A_Total$endereco=='EST DO FORTE DO ARRAIAL N. DO B. JESUS']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'DOIS IRMÃOS' & A_Total$endereco=='EST DOS PINTOS']<-'SÍTIO DOS PINTOS'
A_Total$bairro[A_Total$bairro %in% c('PRADO','BONGI') & A_Total$endereco=='EST DOS REMEDIOS']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'CASA AMARELA' & A_Total$endereco=='EST MORRO DA CONCEICAO']<-'MORRO DA CONCEIÇÃO'
A_Total$bairro[A_Total$bairro %in% c('ROSARINHO','MANGABEIRA') & A_Total$endereco=='EST VELHA DE AGUA FRIA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('BOA VISTA','ILHA DO LEITE') & A_Total$endereco=='PRC CHORA MENINO']<-'PAISSANDU'
A_Total$bairro[A_Total$bairro %in% c('BOA VISTA','OUTROS') & A_Total$endereco=='PRC DA REPUBLICA']<-'SANTO ANTÔNIO'
A_Total$bairro[A_Total$bairro %in% c('BOA VISTA','OUTROS') & A_Total$endereco=='PRC DO DERBY']<-'DERBY'
A_Total$bairro[A_Total$bairro %in% 'ESPINHEIRO' & A_Total$endereco=='PRC DO ENTRONCAMENTO']<-'GRAÇAS'
A_Total$bairro[A_Total$bairro %in% 'PINA' & A_Total$endereco=='PRC GOVERNADOR PAULO GUERRA']<-'CABANGA'
A_Total$bairro[A_Total$bairro %in% c('ESPINHEIRO','GRAÇAS','OUTROS') & A_Total$endereco=='PRC PARQUE AMORIM']<-'BOA VISTA'
A_Total$bairro[A_Total$bairro %in% 'PARNAMIRIM' & A_Total$endereco=='PRC PROFESSOR FLEMING']<-'JAQUEIRA'
A_Total$bairro[A_Total$bairro %in% c('BAIRRO DO RECIFE','SANTO ANTÔNIO') & A_Total$endereco=='PRC SERGIO LORETO']<-'SÃO JOSÉ'
A_Total$bairro[A_Total$bairro %in% 'ENCRUZILHADA' & A_Total$endereco=='RUA AFONSO BATISTA']<-'ESPINHEIRO'
A_Total$bairro[A_Total$bairro %in% 'CASA FORTE' & A_Total$endereco=='RUA AFONSO DE ALBUQUERQUE MELO']<-'SANTANA'
A_Total$bairro[A_Total$bairro %in% 'SOLEDADE' & A_Total$endereco=='RUA AFONSO PENA']<-'SANTO AMARO'
A_Total$bairro[A_Total$bairro %in% 'CIDADE UNIVERSITÁRIA' & A_Total$endereco=='RUA AGRICOLANDIA']<-'VÁRZEA'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='RUA ALAMEDA DAS HORTENCIAS']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% c('ESPINHEIRO','MADALENA','TORRE') & A_Total$endereco=='RUA ALBERTO PAIVA']<-'GRAÇAS'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='RUA ALFREDO MARCONDES']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA ALTINHO']<-'MADALENA'
A_Total$bairro[A_Total$bairro %in% 'BREJO DE BEBERIBE' & A_Total$endereco=='RUA ALTO DO EUCALIPTO']<-'VASCO DA GAMA'
A_Total$bairro[A_Total$bairro %in% 'CASA AMARELA' & A_Total$endereco=='RUA ALTO JOSE BONIFACIO']<-'ALTO JOSÉ BONIFÁCIO'
A_Total$bairro[A_Total$bairro %in% 'CASA FORTE' & A_Total$endereco=='RUA AMARAJI']<-'SANTANA'
A_Total$bairro[A_Total$bairro %in% 'DERBY' & A_Total$endereco=='RUA AMARO BEZERRA']<-'GRAÇAS'
A_Total$bairro[A_Total$bairro %in% 'CORDEIRO' & A_Total$endereco=='RUA AMBROSIO MACHADO']<-'IPUTINGA'
A_Total$bairro[A_Total$bairro %in% 'TORRE' & A_Total$endereco=='RUA AMELIA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'ENCRUZILHADA' & A_Total$endereco=='RUA ANDRE REBOUCAS']<-'ROSARINHO'
A_Total$bairro[A_Total$bairro %in% 'ESPINHEIRO' & A_Total$endereco=='RUA ANGUSTURA']<-'AFLITOS'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA ANTONIO CURADO']<-'ENGENHO DO MEIO'
A_Total$bairro[A_Total$bairro %in% c('IMBIRIBEIRA','OUTROS') & A_Total$endereco=='RUA ANTONIO FALCAO']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA ANTONIO VICENTE']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'TORRE' & A_Total$endereco=='RUA ANTONIO VIEIRA']<-'MADALENA'
A_Total$bairro[A_Total$bairro %in% 'COQUEIRAL' & A_Total$endereco=='RUA APRIGIO GUIMARAES']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'BOMBA DO HEMETÉRIO' & A_Total$endereco=='RUA ARLINDO CISNEIRO']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('AFOGADOS','IPSEP') & A_Total$endereco=='RUA ARQUITETO LUIZ NUNES']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='RUA ATLANTICO']<-'PINA'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA AVIADOR SEVERIANO LINS']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'OUTROS' & A_Total$endereco=='RUA BALTAZAR PASSOS']<-'BOA VIAGEM'
A_Total$bairro[A_Total$bairro %in% 'SANTO ANTÔNIO' & A_Total$endereco=='RUA BARAO DA VITORIA']<-'SÃO JOSÉ'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='RUA BARAO DE AGUA BRANCA']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% 'SÃO JOSÉ' & A_Total$endereco=='RUA BARAO DE SAO BORJA']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'BRASÍLIA TEIMOSA' & A_Total$endereco=='RUA BEM TE VI']<-'PINA'
A_Total$bairro[A_Total$bairro %in% c('DERBY','ILHA DO LEITE','ILHA DO RETIRO') & A_Total$endereco=='RUA BENFICA']<-'MADALENA'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='RUA BISPO CARDOSO AYRES']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% 'BEBERIBE' & A_Total$endereco=='RUA BOLIVAR']<-'ARRUDA'
A_Total$bairro[A_Total$bairro %in% 'ENGENHO DO MEIO' & A_Total$endereco=='RUA BOM PASTOR']<-'IPUTINGA'
A_Total$bairro[A_Total$bairro %in% 'ÁGUA FRIA' & A_Total$endereco=='RUA BOMBA DO HEMETERIO']<-'BOMBA DO HEMETÉRIO'
A_Total$bairro[A_Total$bairro %in% 'CAÇOTE' & A_Total$endereco=='RUA CAMBUCA']<-'AREIAS'
A_Total$bairro[A_Total$bairro %in% 'JORDÃO' & A_Total$endereco=='RUA CANAL DO JORDAO']<-'IMBIRIBEIRA'
A_Total$bairro[A_Total$bairro %in% 'CORDEIRO' & A_Total$endereco=='RUA CANTORA CLARA NUNES']<-'TORRE'
A_Total$bairro[A_Total$bairro %in% 'BOA VIAGEM' & A_Total$endereco=='RUA CAPITAO REBELINHO']<-'PINA'
A_Total$bairro[A_Total$bairro %in% 'AFLITOS' & A_Total$endereco=='RUA CAPITAO SAMPAIO XAVIER']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('ILHA JOANA BEZERRA','PINA') & A_Total$endereco=='RUA CAPITAO TEMUDO']<-'CABANGA'
A_Total$bairro[A_Total$bairro %in% 'TORRÕES' & A_Total$endereco=='RUA CARLOS GOMES']<-'OUTROS'
A_Total$bairro[A_Total$bairro %in% c('CAXANGÁ','TORRÕES') & A_Total$endereco=='RUA CLAUDIO BROTHERHOOD']<-'CORDEIRO'
A_Total$bairro[A_Total$bairro %in% 'SAN MARTIN' & A_Total$endereco=='RUA CLOTILDE DE OLIVEIRA']<-'CORDEIRO'
A_Total$bairro[A_Total$bairro %in% 'ESPINHEIRO' & A_Total$endereco=='RUA CLOVIS DA SILVEIRA BARROS']<-'BOA VISTA'
A_Total$bairro[A_Total$bairro %in% 'JORDÃO' & A_Total$endereco=='RUA COLARES']<-'OUTROS'A_Total$endereco[A_Total$endereco=='SÃO JOSÉ' & A_Total$bairro=='RUA N S DO CARMO']<-'SANTO ANTÔNIO'
A_Total$endereco[A_Total$endereco=='DOIS IRMÃOS' & A_Total$bairro=='RUA FARIAS NEVES']<-'DOIS IRMÃOS'
A_Total$endereco[A_Total$endereco=='DOIS UNIDOS' & A_Total$bairro=='RUA BELA VISTA']<-'DOIS UNIDOS'
A_Total$endereco[A_Total$endereco=='IPSEP' & A_Total$bairro=='AV PROFESSOR JOSE DOS ANJOS']<-'OUTROS'
A_Total$endereco[A_Total$endereco=='ARRUDA' & A_Total$bairro=='RUA VELHA']<-'OUTROS'
A_Total$endereco[A_Total$endereco=='ILHA DO RETIRO' & A_Total$bairro=='RUA ABDIAS CABRAL DE MOURA']<-'OUTROS'
A_Total$endereco[A_Total$endereco=='MADALENA' & A_Total$bairro=='AV BEIRA MAR']<-'OUTROS'
A_Total$endereco[A_Total$endereco=='ILHA DO LEITE' & A_Total$bairro=='AV ENGENHEIRO AGAMENON DE MAGALHAES MELO']<-'OUTROS'
A_Total$endereco[A_Total$endereco=='PAISSANDU' & A_Total$bairro=='AV ENGENHEIRO AGAMENON DE MAGALHAES MELO']<-'OUTROS'
A_Total$endereco[A_Total$endereco=='DERBY' & A_Total$bairro=='AV ENGENHEIRO AGAMENON DE MAGALHAES MELO']<-'OUTROS'
A_Total$endereco[A_Total$endereco=='ESPINHEIRO' & A_Total$bairro=='AV CONSELHEIRO AGUIAR']<-'OUTROS'
A_Total$endereco[A_Total$endereco=='IBURA' & A_Total$bairro=='RUA QUINZE DE NOVEMBRO']<-'RUA QUINZE DE NOVEMBRO - IDENTIFICADOR I'
A_Total$endereco[A_Total$endereco=='OUTROS' & A_Total$bairro=='RUA QUINZE DE NOVEMBRO']<-'RUA QUINZE DE NOVEMBRO - IDENTIFICADOR II'
A_Total$endereco[A_Total$endereco=='OUTROS' & A_Total$bairro=='RUA VALE DO SIRIJI']<-'RUA VALE DO SIRIJI - IDENTIFICADOR I'
A_Total$endereco[A_Total$endereco=='OUTROS' & A_Total$bairro=='RUA VINTE E QUATRO DE MAIO']<-'RUA VINTE E QUATRO DE MAIO - IDENTIFICADOR I'
A_Total$endereco[A_Total$endereco=='OUTROS' & A_Total$bairro=='RUA MADRE DEUS']<-'RUA MADRE DEUS - IDENTIFICADOR I'
A_Total$endereco[A_Total$endereco=='OUTROS' & A_Total$bairro=='RUA AFONSO PENA']<-'RUA AFONSO PENA - IDENTIFICADOR I'
A_Total$endereco[A_Total$endereco=='OUTROS' & A_Total$bairro=='AV PERNAMBUCO']<-'AV PERNAMBUCO - IDENTIFICADOR I'
A_Total$endereco[A_Total$endereco=='JARDIM SÃO PAULO' & A_Total$bairro=='AV SAO PAULO']<-'AV SAO PAULO - IDENTIFICADOR I'
A_Total$endereco[A_Total$endereco=='OUTROS' & A_Total$bairro=='AV BEIRA RIO']<-'AV BEIRA RIO - IDENTIFICADOR III'
A_Total$endereco[A_Total$endereco=='ESPINHEIRO' & A_Total$bairro=='AV BEIRA RIO']<-'AV BEIRA RIO - IDENTIFICADOR III'
A_Total$endereco[A_Total$endereco=='ILHA JOANA BEZERRA' & A_Total$bairro=='AV BEIRA RIO']<-'AV BEIRA RIO - IDENTIFICADOR III'
A_Total$endereco[A_Total$endereco=='PAISSANDU' & A_Total$bairro=='AV BEIRA RIO']<-'AV BEIRA RIO - IDENTIFICADOR III'
A_Total$endereco[A_Total$endereco=='ILHA DO LEITE' & A_Total$bairro=='AV BEIRA RIO']<-'AV BEIRA RIO - IDENTIFICADOR II'
A_Total$endereco[A_Total$endereco=='JORDÃO' & A_Total$bairro=='AV BEIRA RIO']<-'AV BEIRA RIO - IDENTIFICADOR I'
A_Total$endereco[A_Total$endereco=='CAJUEIRO' & A_Total$bairro=='RUA MONTE CASTELO']<-'RUA MONTE CASTELO - IDENTIFICADOR I'
A_Total$endereco[A_Total$endereco=='OUTROS' & A_Total$bairro=='RUA SIQUEIRA CAMPOS']<-'RUA SIQUEIRA CAMPOS - IDENTIFICADOR I'
A_Total$endereco[A_Total$endereco=='IBURA' & A_Total$bairro=='RUA SAO MIGUEL']<-'RUA SAO MIGUEL - IDENTIFICADOR I'
A_Total$endereco[A_Total$endereco=='IBURA' & A_Total$bairro=='RUA PADRE CICERO']<-'RUA PADRE CICERO - IDENTIFICADOR I'
A_Total$bairro[A_Total$endereco=='SÃO JOSÉ' & A_Total$bairro=='RUA N S DO CARMO']<-'AV N S DO CARMO'
A_Total$bairro[A_Total$endereco=='DOIS IRMÃOS' & A_Total$bairro=='RUA FARIAS NEVES']<-'PRC FARIAS NEVES'
A_Total$bairro[A_Total$endereco=='DOIS UNIDOS' & A_Total$bairro=='RUA BELA VISTA']<-'RUA DA BELA VISTA'
A_Total$bairro[A_Total$endereco=='IPSEP' & A_Total$bairro=='AV PROFESSOR JOSE DOS ANJOS']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='ARRUDA' & A_Total$bairro=='RUA VELHA']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='ILHA DO RETIRO' & A_Total$bairro=='RUA ABDIAS CABRAL DE MOURA']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='MADALENA' & A_Total$bairro=='AV BEIRA MAR']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='ILHA DO LEITE' & A_Total$bairro=='AV ENGENHEIRO AGAMENON DE MAGALHAES MELO']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='PAISSANDU' & A_Total$bairro=='AV ENGENHEIRO AGAMENON DE MAGALHAES MELO']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='DERBY' & A_Total$bairro=='AV ENGENHEIRO AGAMENON DE MAGALHAES MELO']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='ESPINHEIRO' & A_Total$bairro=='AV CONSELHEIRO AGUIAR']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='IBURA' & A_Total$bairro=='RUA QUINZE DE NOVEMBRO']<-'IBURA'
A_Total$bairro[A_Total$endereco=='OUTROS' & A_Total$bairro=='RUA QUINZE DE NOVEMBRO']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='OUTROS' & A_Total$bairro=='RUA VALE DO SIRIJI']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='OUTROS' & A_Total$bairro=='RUA VINTE E QUATRO DE MAIO']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='OUTROS' & A_Total$bairro=='RUA MADRE DEUS']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='OUTROS' & A_Total$bairro=='RUA AFONSO PENA']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='OUTROS' & A_Total$bairro=='AV PERNAMBUCO']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='JARDIM SÃO PAULO' & A_Total$bairro=='AV SAO PAULO']<-'JARDIM SÃO PAULO'
A_Total$bairro[A_Total$endereco=='OUTROS' & A_Total$bairro=='AV BEIRA RIO']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='ESPINHEIRO' & A_Total$bairro=='AV BEIRA RIO']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='ILHA JOANA BEZERRA' & A_Total$bairro=='AV BEIRA RIO']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='PAISSANDU' & A_Total$bairro=='AV BEIRA RIO']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='ILHA DO LEITE' & A_Total$bairro=='AV BEIRA RIO']<-'ILHA DO LEITE'
A_Total$bairro[A_Total$endereco=='JORDÃO' & A_Total$bairro=='AV BEIRA RIO']<-'JORDÃO'
A_Total$bairro[A_Total$endereco=='CAJUEIRO' & A_Total$bairro=='RUA MONTE CASTELO']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='OUTROS' & A_Total$bairro=='RUA SIQUEIRA CAMPOS']<-'OUTROS'
A_Total$bairro[A_Total$endereco=='IBURA' & A_Total$bairro=='RUA SAO MIGUEL']<-'COHAB'
A_Total$bairro[A_Total$endereco=='IBURA' & A_Total$bairro=='RUA PADRE CICERO']<-'COHAB'
02 - Consoante análise dos dados dispostos no campo
“endereço” também foi constatado que a descrição de algumas vias foi
indicada de forma equivocada ou despadronizada. Nesses casos, o nome da
via no campo “endereço” foi devidamente corrigido ou escrito no mesmo
padrão dos demais dados.
Assim, foram efetuados os ajustes seguintes:
A_Total$endereco[A_Total$endereco=='AVENIDA CELSO FURTADO (VIA MANGUE)']<-'AV CELSO FURTADO (VIA MANGUE)'
A_Total$endereco[A_Total$endereco=='AV DA SAUDADE,']<-'AV DA SAUDADE'
A_Total$endereco[A_Total$endereco=='AV. DES. JOSE NEVES']<-'AV DES JOSE NEVES'
A_Total$endereco[A_Total$endereco=='RUA MAURICIO DE NASSAU']<-'AV MAURICIO DE NASSAU'
A_Total$endereco[A_Total$endereco=='RUA N S DA SAUDE']<-'AV N S DA SAUDE'
A_Total$endereco[A_Total$endereco=='AV NORTE']<-'AV NORTE MIGUEL ARRAES DE ALENCAR'
A_Total$endereco[A_Total$endereco=='RUA SPORT CLUBE DO RECIFE']<-'AV SPORT CLUBE DO RECIFE'
A_Total$endereco[A_Total$endereco=='C SANTA RITA']<-'CAIS DE SANTA RITA'
A_Total$endereco[A_Total$endereco=='EST DAS UBAIAS-']<-'EST DAS UBAIAS'
A_Total$endereco[A_Total$endereco=='EST DAS UBAIAS,']<-'EST DAS UBAIAS'
A_Total$endereco[A_Total$endereco=='RUA AURORA']<-'RUA DA AURORA'
A_Total$endereco[A_Total$endereco=='RUA DOUTOR DUSTAN DE CARVALHO SOARES']<-'RUA DR DUSTAN DE CARVALHO SOARES'
A_Total$endereco[A_Total$endereco=='RUA DOUTOR LEONIDAS CRAVO GAMA']<-'RUA DR LEONIDAS CRAVO GAMA'
A_Total$endereco[A_Total$endereco=='AV JOAO CABRAL DE MELO NETO']<-'RUA JOAO CABRAL DE MELO NETO'
A_Total$endereco[A_Total$endereco=='RUA DOM PAULO II']<-'RUA JOAO PAULO II'
A_Total$endereco[A_Total$endereco=='AV MARECHAL JUAREZ TAVORA']<-'RUA MARECHAL JUAREZ TAVORA'
A_Total$endereco[A_Total$endereco=='RUA PROF AURELIO DE CASTRO CAVALCANTI']<-'RUA PROFESSOR AURELIO DE CASTRO CAVALCANTI'
A_Total$endereco[A_Total$endereco=='RUA PROF CLAUDIO SELVA']<-'RUA PROFESSOR CLAUDIO SELVA'
A_Total$endereco[A_Total$endereco=='RUA PROF PEDRO AUGUSTO CARNEIRO LEAO']<-'RUA PROFESSOR PEDRO AUGUSTO CARNEIRO LEAO'
A_Total$endereco[A_Total$endereco=='RUA TIJUCAS']<-'RUA TIJUCA'
A_Total$endereco[A_Total$endereco=='RUA TIJUCA']<-'RUA TIJUCAS'
A_Total$endereco[A_Total$endereco=='VIADUTO CAPITAO TEMUDO']<-'VDO CAPITAO TEMUDO'
A_Total$endereco[A_Total$endereco=='VIADUTO TANCREDO NEVES']<-'VDO TANCREDO NEVES'
A_Total$endereco[A_Total$endereco=='LARGO DA PAZ']<-'LGO DA PAZ'
A base de dados unificada foi exaustiva e detalhadamente checada
no sentido da eliminação de ocorrências e informações não relevantes
para o Projeto, mantendo-se apenas aquelas que têm ou teriam potencial
de serem efetivamente utilizados para fins de estudos.
1 - A partir da análise das informações da base de dados
constatou-se que ela continha ocorrências não relacionadas a acidentes
de trânsito. A base, contém, por exemplo, situações em que houve apenas
problema com sinal de trânsito (coluna “tipo” = “SEMÁFORO”) ou em que a
CTTU prestou apoio em situações não relacionadas a acidentes (coluna
“tipo” = “APOIO COMPESA” ou “OUTROS APOIOS” ou “MONITORAMENTO” ou
“ALAGAMENTO”).
A_Total<-A_Total[-which(A_Total$tipo %in% c("SEMÁFORO","OUTROS APOIOS","MONITORAMENTO","APOIO COMPESA","ALAGAMENTO")),]
2 - Após isso, optou-se por exclusão da coluna “situacao”, uma
vez que a situação em que se encontra a ocorrência não altera a
materialização do acidente ocorrido. Nesse sentido, o tratamento dado,
por exemplo, às ocorrência com situação=“CANCELADA” é o mesmo dado às
demais categorias, uma vez que a indicação de “CANCELADA”, conforme
indicação em (http://dados.recife.pe.gov.br/it/dataset/comments/acidentes-de-transito-com-e-sem-vitimas)
indica apenas que “a viatura da CTTU não encontrou a reclamação de
acidente ou que os envolvidos ligaram informando que entraram em
acordo”.
A_Total<-A_Total[,!names(A_Total)=="situacao"]
3 - Constatação que as colunas “acidente_verificado”, “numero”,
“complemento”, “detalhe_endereco_acidente”, “situacao_placa”,
“ponto_controle”, “situacao_semaforo”, “num_semaforo”, “sentido_via”,
“mao_direcao”, “divisao_via1”, “divisao_via2”, “divisao_via3” da base de
dados poderiam ser descartadas uma vez que não agregam valor ao objetivo
proposto pelo presente estudo ou por que os dados nelas contidos não são
consistentes com as informações que teriam que representar.
A_Total<-A_Total[,-which(names(A_Total) %in% c("acidente_verificado","numero", "complemento", "detalhe_endereco_acidente", "situacao_placa", "ponto_controle", "situacao_semaforo", "num_semaforo", "sentido_via", "mao_direcao", "divisao_via1", "divisao_via2", "divisao_via3"))]
4 - Eliminação da coluna “bairro_cruzamento”, uma vez que, além
de as informações de bairro já constarem na coluna “bairro”, conforme
análise da consistência dos dados.
A_Total<-A_Total[,!names(A_Total)=="bairro_cruzamento"]
01 - Faixa: Função para associar os horários de ocorrência do
acidente a uma determinada faixa horária de formato numérico.
Exemplo: horários de acidente entre 00:00h até 00:59h são mapeados para a faixa horária 1.
#Entrada:
#horario: coluna de dataframe (vetor de dados)
#Saída:
#v: vetor com ajuste dos horários
Faixa<-function(horario){
t<-length(horario)
v<-numeric()
for (i in 1:t){
for (j in 0:23){
if (is.na(horario[i])==T){
break}
else if (horario[i]==j){
v[i]<-j+1
break
}
}
}
return(v)
}
02 - Pfaixas: Função para geração de faixas horárias de formato
caracter. Exemplo: faixa 1 corresponde ao intervalo 00h - 01h.
#Saída:
#v: Matriz do conjunto hora x faixa horária
Pfaixas<-function(){
v<-matrix(nrow=24,ncol=2)
for (i in 1:24){
if (i<10){
v[i,2]<-paste("0",i-1,"h - ","0",i,"h",sep="")
v[i,1]<-i}
else if (i==10){
v[i,2]<-paste("0",i-1,"h - ",i,"h",sep="")
v[i,1]<-i}
else{
v[i,2]<-paste(i-1,"h - ",i,"h",sep="")
v[i,1]<-i}
}
colnames(v)<-c("hora","faixa")
return(v)
}
03 - Tab: Função para gerar tabelas.
#Entradas:
#Dados: Dataframe cujas colunas de dados serão representadas na tabela
#Nomes: Vetor com o nome das colunas que efetivamente aparecerão na tabela gerada
#larg_col: Proporção entre o tamanho das colunas da tabela
#Margem: lista de manipulação da área de plotagem
#Titulo: Título da tabela
#Saída:
#FIG: Tabela gerada
Tab<-function(Dados,Nomes,larg_col,Margem,Titulo=""){
FIG <- plotly::plot_ly(
type = 'table',
columnwidth = larg_col,
header = list(
values = Nomes ,
line = list(color = '#506784'),
fill = list(color = '#CCFFFF'),
align = rep('center', ncol(Dados)),
valign = rep('center', ncol(Dados)),
line = list(width = 2.5, color = 'black'),
font = list(color = '#000066', size = 14,face="bold")
),
cells = list(
values = t(as.matrix(unname(Dados))),
line = list(color = '#506784'),
fill = list(color = "white"),
align = list('left', rep('center',ncol(Dados))),
valign=rep('center', ncol(Dados)),
line = list(width = 1.5, color = 'black'),
font = list(color = c('#506784'), size = 12)
))
FIG<-plotly::layout(FIG,title = list(text=Titulo,font=list(color = 'black', size = 14)),margin=Margem)
return(FIG)
}
04 - Gbar: Função para geração de gráficos de barras.
#Entradas:
#Dados: Dataframe com colunas (ordenadamente dispostas) selecionadas para análise (Por padrão são três colunas )
#f: função de preparação de dados: f = 1 (contagem); f= 2 (soma)
#TX: Título do Eixo X do gráfico
#TY: Título do Eixo Y do gráfico
#Título: Título do gráfico
#width: Configuração da área de plotagem
#height: Configuração da área de plotagem
#Saída:
#FIG: Gráfico de barras gerado
Gbar<-function(Dados,f,TX="",TY="",Titulo="",width = 600, height = 400){
Dados<-unique(Dados)
names(Dados)<-c("pri","seg","ter")
Dados<-dplyr::group_by(Dados,seg)
if (f==1){
Dados<-dplyr::summarise(Dados,Quantidade=length(ter))
}
else if (f==2){
Dados<-dplyr::summarise(Dados,Quantidade=sum(ter))
}
xaxis=list(title=list(text=TX,font=list(color = 'black', size = 14)))
yaxis=list(title=list(text=TY,font=list(color = 'black', size = 14)),tickformat="digits")
FIG<-plotly::plot_ly(x=Dados$seg,y=Dados$Quantidade, type='bar',width = width, height = height)
FIG<-plotly::layout(FIG,xaxis=xaxis,yaxis=yaxis,title = list(orientation="h",text=Titulo,font=list(color = '#660066', size = 16)),showlegend=F,margin=list(l=150,r=150,b=50,t=50,pad=4))
return(FIG)
}
05 - Prep_Dados: Função de customização/seleção de dados para
geração de gráficos ou utilização em outras aplicações.
#Entradas:
#Dados: Dataframe com colunas (ordenadamente dispostas) selecionadas para análise/tratamento de dados (Por padrão são duas colunas )
#n: número máximo de categorias que serão consideradas no gráfico (as "n" maiores)
#freq_min: frequência mínima para seleção de categorias de dados
#f: função de preparação de dados: f = 1 (contagem); f= 2 (soma)
#Saída:
#Dados: Dataframe com os dados tratados/selecionados
Prep_Dados<-function(Dados,n,freq_min,f){
Dados<-unique(Dados)
names(Dados)<-c("pri","seg")
Dados<-dplyr::group_by(Dados,seg)
Dados<-dplyr::filter(Dados,is.na(seg)==F)
if (f==1){
Dados<-dplyr::summarise(Dados,Quantidade=length(seg))
}
else if (f==2){
Dados<-dplyr::summarise(Dados,Quantidade=sum(seg))
}
if (nrow(Dados)<n){
n<-nrow(Dados)
}
Dados<-dplyr::arrange(Dados,desc(Quantidade))[1:n,]
if (sum(Dados$Quantidade<freq_min)>0){
Dados<-Dados[-which(Dados$Quantidade<freq_min),]}
Dados<-data.frame(Dados)
return(Dados)
}
06 - Pizza: Função para geração de um gráfico de Pizza.
#Entradas:
#Dados: Dataframe com colunas (ordenadamente dispostas) selecionadas para análise (Por padrão são duas colunas )
#n: número máximo de categorias (de determinada coluna sob análise) que serão consideradas no gráfico (as "n" maiores)
#freq_min: frequência mínima para seleção de categorias para o gráfico (para ser considerada é necessário também que a frequência de ocorrência da categoria seja maior que freq_min)
#f: função de preparação de dados: f = 1 (contagem); f= 2 (soma)
#Titulo: Título do gráfico
#Saída:
#FIG: Gráfico de pizza gerado
Pizza<-function(Dados,n,freq_min,f,Titulo=""){
Dados<-Prep_Dados(Dados,n,freq_min,f)
FIG<-plotly::plot_ly(data=Dados,labels=~seg,values=~Quantidade, type='pie')
FIG<-plotly::layout(FIG,title = list(text=Titulo,font=list(color = '#4A0909', size = 15)),font=list(color = 'black',size = 11),legend=list(bgcolor="transparent",orientation="v",yanchor="top",y=0.9,font=list(size=10)))
return(FIG)
}
07 - Junta_Frame: Função para juntar dataframes que possuem uma
mesma coluna de referência (fazer “merge”).
#Entradas
#Dados1: Dataframe 01
#Dados2: Dataframe 02
#Nomes: vetor de nomes das colunas resultantes da junção, não correspondentes às colunas de referência
#Saída:
#Dados: Dataframe resultante da união dos dataframes 1 e 2
#As colunas de referência do merge são as primeiras colunas de cada dataframe
#A função transforma valores NA em zero
Junta_Frame<-function(Dados1, Dados2,Nomes){
Dados<-merge(x=Dados1,y=Dados2,by.x=names(Dados1)[1],by.y=names(Dados2)[1],all=T)
c<-ncol(Dados)
for (i in 2:c){
Dados[is.na(Dados[,i])==T,i]<-0
}
names(Dados)<-c("pri",Nomes)
return(Dados)
}
08 - Histo: Função para gerar histogramas.
#Entradas:
#Dados: Dataframe com colunas (ordenadamente dispostas) selecionadas para análise (Por padrão são duas colunas )
#TX: Título do Eixo X do gráfico
#TY: Título do Eixo Y do gráfico
#Título: Título do gráfico
#Saída:
#FIG: Gráfico de Histograma
Histo<-function(Dados,TX="",TY="",Titulo=""){
Dados<-unique(Dados)
names(Dados)<-c("pri","seg")
FIG<-plotly::plot_ly(x=Dados$seg,type="histogram",opacity=10,histnorm = "probability",name="Histograma")
densidade <- density(Dados$seg)
FIG<-plotly::layout(FIG,plot_bgcolor="#CCFFFF",title = list(text=Titulo,font=list(color = 'black', size = 16)),
xaxis = list(title = TX,showgrid = T),yaxis=list(title=TY,showgrid = T))
FIG<-plotly::add_lines(FIG,x=densidade$x,y=densidade$y,type="line",name="Curva de Densidade",showlegend=F)
return(FIG)
}
09 - Lgraf: Função para gerar lista auxiliar para anotações em
gráficos.
#Entradas:
#x: coordenada horizontal da posição da anotação
#y: coordenada vertical da posição da anotação
#Texto: cTexto da Anotação
#Saida:
#L: Lita composta pelos três elementos de entrada
Lgraf<-function(x,y,Texto){
L<-list(x=x, y=y, text=Texto, font=list(color = 'blue', size = 14), xref = "paper", yref = "paper",xanchor = "center",yanchor = "bottom",showarrow = FALSE)
return(L)
}
10 - F_Bairro: Função para geração de alguns gráficos
específicos para determinado bairro escolhido.
#Entradas:
#Base: Base de Dados unificada
#Bairro: Nome do bairro sob análise
#Saída:
#Saida: Lista contendo os gráficos gerados
#Acidentes por tipo de acidente Bairro 01
F_Bairro<-function(Base,Bairro){
#Gráfico 01: Tabela com a quantidade de acidentes por tipo de acidente em cada ano
Ano1<-Base[Base$ano=="2019"& Base$bairro==Bairro,c("id_acidente","tipo")]
Ano1<-Prep_Dados(Ano1,100,1,1)
Ano2<-Base[Base$ano=="2020"&Base$bairro==Bairro,c("id_acidente","tipo")]
Ano2<-Prep_Dados(Ano2,100,1,1)
Ano3<-Base[Base$ano=="2021"&Base$bairro==Bairro,c("id_acidente","tipo")]
Ano3<-Prep_Dados(Ano3,100,1,1)
X<-Junta_Frame(Ano1,Ano2,c("Q1","Q2"))
X<-Junta_Frame(X,Ano3,c("Q1","Q2","Q3"))
Tab_Bairro<-knitr::kable(X,"html", escape = F,caption="**Tipos de Acidentes por Ano**",col.names = c("Tipo","2019","2020","2021"),align="c")
Tab_Bairro<-kableExtra::kable_styling(Tab_Bairro,"striped", full_width = F)
#Gráfico 02: Evolução no Número de Acidentes
Dados<-Base[Base$bairro==Bairro,c("id_acidente","ano","bairro")]
f<-1
TX<-"Ano"
TY<-"Quantidade de Acidentes"
Titulo<-paste("Evolução da Quantidade de Acidentes - ",Bairro,sep="")
Evol_Ac_Bairro<-Gbar(Dados,f,TX,TY,Titulo)
#Gráfico 03: Evolução da Quantidade de Veículos Envolvidos Acidentes
Dados<-Base[Base$envolvido!="pedestre" & Base$bairro==Lista[1,1],c("id_acidente","ano","QTD")]
f<-2
TX<-"Ano"
TY<-"Quantidade de Veículos"
Titulo<-paste("Evolução da Quantidade de Veículos em Acidentes - ",Lista[1,1],sep="")
Evol_Vei_Bairro<-Gbar(Dados,f,TX,TY,Titulo)
#Gráfico 04: Evolução da Quantidade de Vítimas envolvidas em acidentes
Dados<-Base[Base$natureza_acidente %in% c("VÍTIMA FATAL","COM VÍTIMA") & Base$bairro==Bairro,c("id_acidente","ano","vitimas","vitimasfatais")]
Dados$vitimas[is.na(Dados$vitimas)==T]<-0
Dados$vitimasfatais[is.na(Dados$vitimasfatais)==T]<-0
Dados<-dplyr::mutate(Dados,QTD=vitimas+vitimasfatais)
Dados<-Dados[,c("id_acidente","ano","QTD")]
f<-2
TX<-"Ano"
TY<-"Quantidade de Vítimas"
Titulo<-paste("Evolução da Quantidade de Vítimas em Acidentes - ",Bairro,sep="")
Evol_Vit_Bairro<-Gbar(Dados,f,TX,TY,Titulo)
#Grafico 05: Vias com maior número de acidentes
Dados<-A_Total[Base$bairro==Bairro,c("id_acidente","endereco")]
n<-10
freq_min<-1
f<-1
Titulo<-"Vias com Maior Número de Acidentes"
Dist_Vias_Bairro<-Pizza(Dados,n,freq_min,f,Titulo)
#Grafico 06: Distribuição de Acidentes por Faixa Horária
Dados<-Base[Base$bairro==Bairro & is.na(Base$hora)==F,c("id_acidente","hora")]
TX<-"Faixa Horária"
TY<-"Quantidade de Acidentes"
Titulo<-paste("Distribuição de Acidentes por Faixa Horária - ",Bairro,sep="")
Dist_Ac_Bairro<-Histo(Dados,TX,TY,Titulo)
Saida<-list(Tab_Bairro,Evol_Ac_Bairro, Evol_Vei_Bairro,Evol_Vit_Bairro,Dist_Vias_Bairro,Dist_Ac_Bairro)
return(Saida)
}
1 - Garantia da eliminação de linhas duplicadas na base de dados
resultante das operações predecessoras:
if (sum(duplicated(A_Total))>0){
A_Total<-A_Total[-which(duplicated(A_Total)),]}
2 - Extração a partir da coluna “data” apenas do ano da
ocorrência, com descarte do dia e do mês, uma vez que, nesse caso, o
parâmetro de análise seria apenas o ano. Assim, as informações da coluna
“data” serão substituídas por apenas o ano da ocorrência.
A_Total<-tidyr::separate(A_Total,col=data,into="ano",sep="-")
3 - Extração a partir da coluna “hora” apenas do hora da
ocorrência, com descarte dos minutos e segundos associados ao campo, uma
vez que, neste Projeto, as análise baseadas no parâmetro hora levarão em
conta a faixa o horária da ocorrência. Portanto será relevante apenas a
informação da hora. Assim, as informações da coluna “serão” serão
substituídas por apenas pela hora da ocorrência, a qual será convertida
para um formato numérico. Exemplo: 00:58:00 será convertido para 0.
A_Total<-tidyr::separate(A_Total,col=hora,into=c("hora"),sep=":")
A_Total$hora<-as.integer(A_Total$hora)
4 - Verificação e, caso necessário, ajuste de possível erro a
partir da conversão do campo “hora”. Desta forma, caso identificado erro
no preenchimento do campo “hora”, esses valores não serão validados e
convertidos para “NA”.
if(sum(A_Total$hora<0,na.rm=T)>0 | sum(A_Total$hora>23,na.rm=T)>0){
A_Total$hora[which(A_Total$hora<0|A_Total$hora>23)]<-NA
}
5 - Garantia de classificação em ordem crescente da base
dedados, primeiro pela coluna “ano” e em seguida pela coluna ‘hora’:
A_Total<-dplyr::arrange(A_Total,ano,hora)
6 - Aplicação da função Faixa à base de dados no sentido de
ajustar o valor do campo “hora”. Deste modo, por exemplo, o campo “hora”
representado por 0 será atualizado para 1.
A_Total$hora<-Faixa(A_Total$hora)
7 - Inserção da coluna “id_acidente” para representar o
equivalente a uma chave primária para a base de dados, realocando-a
também para a primeira posição do dataframe:
t1<-nrow(A_Total)
A_Total$id_acidente<-c(1:t1)
A_Total<-dplyr::relocate(A_Total,"id_acidente",.before ="ano")
8 - Englobando em uma única coluna os dados relacionados às
colunas associadas aos tipos de veículos e agentes envolvidos no
acidente:
A_Total<-tidyr::gather(A_Total,key="envolvido",value="QTD",-c("ano","hora","natureza_acidente","bairro","endereco","tipo","vitimas","vitimasfatais","tempo_clima","sinalizacao","condicao_via","conservacao_via","velocidade_max_via","id_acidente"))
A_Total<-A_Total[is.na(A_Total$QTD)==F & A_Total$QTD>=1,]
Após ajustes e tratamento das bases de dados iniciais, as
informações de interesse do estudo foram consolidadas no dataframe
A_Total, que representa a principal variável do estudo.
Ressalte-se ainda que a variável A_Total, cujas colunas são destacadas na tabela mais abaixo, também foi teve seus 200 primeiros registros impressos para fins de constatação e exemplificação dos dados nela dispostos:
DT::datatable(A_Total[1:200,],caption="Variável Principal: A_Total")#Geração de Tabela com detalhamento das Colunas da Variável Principal: A_Total
Col1<-c("id_acidente","ano","hora","natureza_acidente","bairro","endereco","tipo","vitimas","vitimasfatais","tempo_clima","sinalizacao","condicao_via","conservacao_via","velocidade_max_via","envolvido","QTD")
Col2<-c("Identificador único do acidente (chave primária).","Ano de ocorrência do acidente.","Valor correspondente à faixa horárias da hora de ocorrência do horário do acidente (dígito da hora).","Classificação do acidente quanto à ocorrência de vítimas.","Bairro em que ocorreu o acidente.","Logradouro do local em que o acidente ocorreu","Tipo de acidente ocorrido.","Indica a quantidade de vítimas não fatais associadas a um determinado acidente.","Indica a quantidade de vítimas fatais associadas a um determinado acidente.","Condição climátina no momento da ocorrência do acidente.","Condição da sinalização do trecho da via constatada no momento da ocorrência do acidente.","Condição da no momento da ocorrência do acidente associada a presença de agente externo que possa alterar a dirigibilidade do trecho da via onde ocorreu o acidente.","Condição do estado de conservação do trecho da via no momento da ocorrência do acidente.","Velocidade máxima do trecho da via em que ocorreu o acidente.","Tipo de veículo/ente envolvido no acidente.","Quantidade de cada tipo de veículo/ente envolvido no acidente.")
Col3<-c("Tipo Numérico: Valores Diversos","20119; 2020; 2021","1 a 24","COM VÍTIMA; SEM VÍTIMA; VÍTIMA FATAL; OUTROS","Tipo Caracter: Valores Diversos","Tipo Caracter: Valores Diversos","ACID. DE PERCURSO; ATROPELAMENTO DE ANIMAL; ATROPELAMENTO DE PESSOA; CAPOTAMENTO; COLISÃO; COLISÃO COM CICLISTA; QUEDA; TOMBAMENTO; OUTROS","Tipo Numérico: Valores Diversos", "Tipo Numérico: Valores Diversos","Bom; Chuvoso; Nublado","Ilegível; Incompleta; Não existente; Perfeito estado","Molhada; Oleosa; Seca; Outros","Mal conservada; Mal iluminada; Perfeito estado; Outros","10km/h; 20km/h; 30km/h; 40km/h; 50km/h; 60km/h; 70km/h","auto; caminhao; ciclista; ciclom; moto; viatura; onibus; pedestre; outros","Tipo Numérico: Valores Diversos")
X<-data.frame(Col1,Col2,Col3)
Tab_Colunas<-Tab(X,c("Coluna","Descrição da Coluna","Categorias/Tipo de Dados"),c(3.5,5,5),list(l=0,r=0,b=0,t=50,pad=4),"Detalhamento da Base de Dados")
Tab_Colunas
De início, importante registrar que caso nos resultados
apresentados se faça presente a indicação da categoria “OUTROS”, nos
dados referentes a endereço (coluna “endereço”) ou bairro (coluna
“bairro”), tal categoria corresponde ao conjunto de bairros e/ endereços
não validados/identificados.
Considerando que um dos objetivos propostos pelo presente
Projeto consiste justamente na análise da evolução da quantidades de
acidentes, ocorridos na cidade do Recife no período de 2019 a 2021 foram
gerados gráficos de barras, conforme adiante destacados, registrando
para determinados situações de interesse, a evolução da ocorrência dos
acidentes:
#Evolução do Total de Acidentes
Dados<-A_Total[,c("id_acidente","ano","natureza_acidente")]
f<-1
TX<-"Ano"
TY<-"Quantidade de Acidentes"
Titulo<-"Evolução do Total de Acidentes em Recife 2019-2021"
TA<-Gbar(Dados,f,TX,TY,Titulo,600,700)
#Evolução dos Acidentes com Vítimas Fatais
Dados<-A_Total[which(A_Total$natureza_acidente=="VÍTIMA FATAL"),c("id_acidente","ano","natureza_acidente")]
f<-1
TX<-"Ano"
TY<-"Quantidade de Acidentes"
Titulo<-"Evolução do Total de Acidentes com Vítimas Fatais em Recife 2019-2021"
VF<-Gbar(Dados,f,TX,TY,Titulo,600,700)
#Evolução dos Acidentes com Vítimas (Fatais e Não Fatais)
Dados<-A_Total[which(A_Total$natureza_acidente %in% c("VÍTIMA FATAL","COM VÍTIMA")),c("id_acidente","ano","natureza_acidente")]
f<-1
TX<-"Ano"
TY<-"Quantidade de Acidentes"
Titulo<-"Acidentes com Vítimas"
VT<-Gbar(Dados,f,TX,TY,Titulo,600,700)
Anot = list(Lgraf(0.2,1,"Total de Acidentes"),Lgraf(0.8,1,"Acidentes com Vítimas Fatais"),Lgraf(0.2,0.4,"Acidentes com Vítimas (Fatais e Não Fatais)"))
FIG<-plotly::subplot(TA, VF,VT,nrows=2,titleY = TRUE, titleX = TRUE, margin = 0.1)
FIG<-plotly::layout(FIG,title="Evolução do Número de Acidentes - 2019-2021",annotations = Anot,margin=list(l=0,r=0,b=50,t=70,pad=4))
FIG#Evolução dos Acicentes envolvendo motos e veículos ciclomotores
Dados<-A_Total[which(A_Total$envolvido %in% c("moto","ciclom")),c("id_acidente","ano","QTD")]
f<-1
TX<-"Ano"
TY<-"Quantidade de Acidentes"
Titulo<-"Acidentes com Motos e Ciclomotores"
AM<-Gbar(Dados,f,TX,TY,Titulo)
AM#Evoução dos acidentes envolvendo ciclistas
Dados<-A_Total[which(A_Total$envolvido=="ciclista"),c("id_acidente","ano","QTD")]
f<-1
TX<-"Ano"
TY<-"Quantidade de Acidentes"
Titulo<-"Acidentes com Ciclistas"
AC<-Gbar(Dados,f,TX,TY,Titulo)
AC#Evolução dos acidentes fatais envolvendo motos e veículos ciclomotores
Dados<-A_Total[which(A_Total$envolvido %in% c("moto","ciclom") & A_Total$natureza_acidente=="VÍTIMA FATAL"),c("id_acidente","ano","QTD")]
f<-1
TX<-"Ano"
TY<-"Quantidade de Acidentes"
Titulo<-"Acidentes Fatais com Motos e Ciclomotores"
FM<-Gbar(Dados,f,TX,TY,Titulo)
FM#Evolução dos acidentes fatais envolvendo ciclistas
Dados<-A_Total[which(A_Total$envolvido=="ciclista" & A_Total$natureza_acidente=="VÍTIMA FATAL"),c("id_acidente","ano","QTD")]
f<-1
TX<-"Ano"
TY<-"Quantidade de Acidentes"
Titulo<-"Acidentes Fatais com Ciclistas"
FC<-Gbar(Dados,f,TX,TY,Titulo)
FC#Evolução da Quantidade de Veículos envolvidos em acidentes
Dados<-A_Total[A_Total$envolvido!="pedestre",c("id_acidente","ano","QTD")]
f<-2
TX<-"Ano"
TY<-"Quantidade de Acidentes"
Titulo<-"Quantidade de Veículos Envolvidos em Acidentes"
QA<-Gbar(Dados,f,TX,TY,Titulo)
QA#Evolução da Quantidade de Vítimas envolvidas em acidentes
Dados<-A_Total[which(A_Total$natureza_acidente %in% c("VÍTIMA FATAL","COM VÍTIMA")),c("id_acidente","ano","vitimas","vitimasfatais")]
Dados$vitimas[is.na(Dados$vitimas)==T]<-0
Dados$vitimasfatais[is.na(Dados$vitimasfatais)==T]<-0
Dados<-dplyr::mutate(Dados,QTD=vitimas+vitimasfatais)
Dados<-Dados[,c("id_acidente","ano","QTD")]
f<-2
TX<-"Ano"
TY<-"Quantidade de Vítimas"
Titulo<-"Quantidade de Vítimas Envolvidas em Acidentes"
QV<-Gbar(Dados,f,TX,TY,Titulo)
QV#Evolução Quantidade de Vítimas Fatais em acidentes
Dados<-A_Total[which(A_Total$natureza_acidente=="VÍTIMA FATAL"),c("id_acidente","ano","vitimas","vitimasfatais")]
Dados$vitimas[is.na(Dados$vitimas)==T]<-0
Dados$vitimasfatais[is.na(Dados$vitimasfatais)==T]<-0
Dados<-dplyr::mutate(Dados,QTD=vitimas+vitimasfatais)
Dados<-Dados[,c("id_acidente","ano","QTD")]
f<-2
TX<-"Ano"
TY<-"Quantidade de Vítimas Fatais"
Titulo<-"Quantidade de Vítimas Fatais Envolvidas em Acidentes"
QF<-Gbar(Dados,f,TX,TY,Titulo)
QF
Objetivando se avaliar como é a distribuição dos acidentes
considerando apenas 10 bairros em que mais ocorrem acidentes na cidade
de Recife foram gerados gráficos de pizza, considerando os anos de 2019
a 2021 e também o acumulado dos três anos. Os resultados apresentados
nos gráficos são autoexplicativos, podendo-se constatar a parcela de
acidentes representada por cada um dos bairros.
#Distribuição de Acientes por Bairro - 2019
Dados_2019<-A_Total[A_Total$ano=="2019",c("id_acidente","bairro")]
n<-10
freq_min<-2
f<-1
Titulo<-"Distribuição de Acidentes por Bairro - 2019"
DA_2019<-Pizza(Dados_2019,n,freq_min,f,Titulo)
DA_2019#Distribuição de acidentes por Bairro - 2020
Dados_2020<-A_Total[A_Total$ano=="2020",c("id_acidente","bairro")]
n<-10
freq_min<-2
f<-1
Titulo<-"Distribuição de Acidentes por Bairro - 2020"
DA_2020<-Pizza(Dados_2020,n,freq_min,f,Titulo)
DA_2020#Distribuição de acidentes por Bairro - 2021
Dados_2021<-A_Total[A_Total$ano=="2021",c("id_acidente","bairro")]
n<-10
freq_min<-2
f<-1
Titulo<-"Distribuição de Acidentes por Bairro - 2021"
DA_2021<-Pizza(Dados_2021,n,freq_min,f,Titulo)
DA_2021#Distribuição de acidentes por Bairro - Acumulado 2019-2021
Dados_Acumulado<-A_Total[,c("id_acidente","bairro")]
n<-10
freq_min<-2
f<-1
Titulo<-"Distribuição de Acidentes por Bairro Acumulado 2019-2021"
DA_AC<-Pizza(Dados_Acumulado,n,freq_min,f,Titulo)
DA_ACComo os gráficos de pizza gerados não permitem a visualização da distribuição dos acidentes em todos os bairros, optou-se pela geração de tabela que mostra a frequência de todas as categorias (e não apenas as maiores:
F_2019<-Prep_Dados(Dados_2019,100,1,1)
F_2020<-Prep_Dados(Dados_2020,100,1,1)
F_2021<-Prep_Dados(Dados_2021,100,1,1)
F_Acumulado<-Prep_Dados(Dados_Acumulado,100,1,1)
X<-Junta_Frame(F_2019,F_2020,c("Q1","Q2"))
X<-Junta_Frame(X,F_2021,c("Q1","Q2","Q3"))
X<-Junta_Frame(X,F_Acumulado,c("Q1","Q2","Q3","Q4"))
Tabela_Bairro<-Tab(X,c("Bairro","2019","2020","2021", "Acumulado"),c(9,4,4,4,5),list(l=0,r=0,b=0,t=50,pad=4),"Quantidade de Acidentes por Bairro")
Tabela_Bairro
Objetivando atender objetivo proposto pelo Projeto, a seguir
segue projetado gráfico que apresenta a distribuição dos acidentes com
vítimas fatais considerando apenas os 10 bairros em que mais ocorreram
esse tipo de acidente, considerado o Acumulado no período 2019-2021:
#Distribuição de Acientes Fatais por Bairro - Acumulado 2019-2021
DA_BA_FT<-A_Total[A_Total$natureza_acidente=="VÍTIMA FATAL",c("id_acidente","bairro")]
n<-10
freq_min<-1
f<-1
Titulo<-"Distribuição de Acidentes Fatais por Bairro - Acumulado 2019-2021"
DA_FATAL_AC<-Pizza(DA_BA_FT,n,freq_min,f,Titulo)
DA_FATAL_ACEm oposição à determinação dos bairros com registros de mais acidentes, foram levantados os 10 bairros de Recife que tiveram a menor quantidade de acidentes registrada, considerando o acumulado 2019-2021:
Dados_Acumulado<-A_Total[,c("id_acidente","bairro")]
F_Min_Acumulado<-Prep_Dados(Dados_Acumulado,1000,1,1)
n<-10
F_Min_Acumulado<-dplyr::arrange(F_Min_Acumulado,Quantidade)[1:n,]
FIG<-plotly::plot_ly(data=F_Min_Acumulado,labels=~seg,values=~Quantidade, type='pie')
FIG<-plotly::layout(FIG,title = list(text="Bairros com Menos Acidentes - 2019-2021",font=list(color = '#4A0909', size = 15)),font=list(color = 'black',size = 11),legend=list(bgcolor="transparent",orientation="v",yanchor="top",y=0.9,font=list(size=10)))
FIG
A partir da análise anteriores, optou-se por dar enfoque
especial aos três bairros da cidade de Recife que registraram o maior
número de acidentes no período de 2019 a 2021. Assim, foram elaborados
gráficos específicos visando apresentar o comportamento de alguns tipos
de ocorrências para cada um desses bairros:
Lista<-A_Total[,c("id_acidente","bairro")]
Lista<-Prep_Dados(Lista,3,1,1)
#L2<-F_Bairro(A_Total,Lista[2,1])
#L3<-F_Bairro(A_Total,Lista[3,1])L1<-F_Bairro(A_Total,Lista[1,1])
L1[[1]]| Tipo | 2019 | 2020 | 2021 |
|---|---|---|---|
| ACID. DE PERCURSO | 3 | 1 | 0 |
| ATROPELAMENTO DE PESSOA | 15 | 8 | 15 |
| CAPOTAMENTO | 1 | 2 | 2 |
| COLISÃO | 1476 | 484 | 209 |
| COLISÃO COM CICLISTA | 13 | 8 | 6 |
| OUTROS | 0 | 0 | 4 |
| QUEDA | 0 | 0 | 3 |
| TOMBAMENTO | 2 | 2 | 0 |
L1[[2]]L1[[3]]L1[[4]]L1[[5]]L1[[6]]L2<-F_Bairro(A_Total,Lista[2,1])
L2[[1]]| Tipo | 2019 | 2020 | 2021 |
|---|---|---|---|
| ACID. DE PERCURSO | 1 | 0 | 0 |
| ATROPELAMENTO DE ANIMAL | 1 | 0 | 0 |
| ATROPELAMENTO DE PESSOA | 15 | 3 | 8 |
| CAPOTAMENTO | 3 | 0 | 0 |
| COLISÃO | 706 | 219 | 90 |
| COLISÃO COM CICLISTA | 14 | 4 | 11 |
| OUTROS | 0 | 0 | 2 |
| QUEDA | 0 | 0 | 3 |
| TOMBAMENTO | 4 | 0 | 1 |
L2[[2]]L2[[3]]L2[[4]]L2[[5]]L2[[6]]L3<-F_Bairro(A_Total,Lista[3,1])
L3[[1]]| Tipo | 2019 | 2020 | 2021 |
|---|---|---|---|
| ACID. DE PERCURSO | 3 | 1 | 0 |
| ATROPELAMENTO DE ANIMAL | 0 | 0 | 1 |
| ATROPELAMENTO DE PESSOA | 13 | 8 | 12 |
| CAPOTAMENTO | 3 | 0 | 1 |
| COLISÃO | 512 | 169 | 110 |
| COLISÃO COM CICLISTA | 13 | 6 | 11 |
| OUTROS | 0 | 0 | 2 |
| QUEDA | 0 | 0 | 2 |
| TOMBAMENTO | 3 | 1 | 0 |
L3[[2]]L3[[3]]L3[[4]]L3[[5]]L3[[6]]
Outra análise considerada relevante se traduz no levantamento
das vias da cidade do Recife em que mais ocorreram acidentes. Assim, os
gráficos a seguir têm o objetivo de apresentar a distribuição dos
acidentes considerando apenas as 10 vias em que mais ocorrem acidentes.
Nesse contexto, mister reforçar que uma mesma via pode percorrer
diversos bairros: Os resultados apresentados nos gráficos são
autoexplicativos, podendo-se constatar a parcela de acidentes
representada por cada uma das vias.
#Determinação das vias com maior número de acidentes 2019
Vias_2019<-A_Total[A_Total$ano=="2019",c("id_acidente","endereco")]
n<-10
freq_min<-1
f<-1
Titulo<-"Vias com Maior Número de Acidentes - 2019"
V_2019<-Pizza(Vias_2019,n,freq_min,f,Titulo)
V_2019#Determinação das vias com maior número de acidentes 2019
Vias_2020<-A_Total[A_Total$ano=="2020",c("id_acidente","endereco")]
n<-10
freq_min<-1
f<-1
Titulo<-"Vias com Maior Número de Acidentes - 2020"
V_2020<-Pizza(Vias_2020,n,freq_min,f,Titulo)
V_2020#Determinação das vias com maior número de acidentes 2019
Vias_2021<-A_Total[A_Total$ano=="2021",c("id_acidente","endereco")]
n<-10
freq_min<-1
f<-1
Titulo<-"Vias com Maior Número de Acidentes - 2021"
V_2021<-Pizza(Vias_2021,n,freq_min,f,Titulo)
V_2021#Determinação das vias com maior número de acidentes Acumulado 2019-2021
Vias_Acumulado<-A_Total[,c("id_acidente","endereco")]
n<-10
freq_min<-1
f<-1
Titulo<-"Vias com Maior Número de Acidentes - Acumulado 2019-2021"
V_Acumulado<-Pizza(Vias_Acumulado,n,freq_min,f,Titulo)
V_AcumuladoComo os gráficos de pizza gerados não permitem a visualização da distribuição dos acidentes em todas as vias da cidade do Recife, em que ocorreu algum tipo de acidentes, optou-se pela geração de tabela que mostra a frequência de todas as categorias (e não apenas as maiores):
F_2019<-Prep_Dados(Vias_2019,10000,1,1)
F_2020<-Prep_Dados(Vias_2020,10000,1,1)
F_2021<-Prep_Dados(Vias_2021,10000,1,1)
F_Acumulado<-Prep_Dados(Vias_Acumulado,10000,1,1)
X<-Junta_Frame(F_2019,F_2020,c("Q1","Q2"))
X<-Junta_Frame(X,F_2021,c("Q1","Q2","Q3"))
X<-Junta_Frame(X,F_Acumulado,c("Q1","Q2","Q3","Q4"))
Tabela_Vias<-Tab(X,c("Via/Logradouro","2019","2020","2021", "Acumulado"),c(19,4,4,4,5),list(l=0,r=0,b=0,t=50,pad=4),"Quantidade de Acidentes por Via")
Tabela_Vias
Ainda, a partir da análise dos acidentes ocorridos nas vias da
cidade de Recife, adiante seguem destacadas, considerando o período
acumulado 2019-2021, as vias em que mais ocorreram acidentes fatais e
também aquelas em que ocorreram mais atropelamentos de pessoas:
#Determinação das vias com maior número de acidentes Fatais
Vias_Fatais<-A_Total[A_Total$natureza_acidente=="VÍTIMA FATAL",c("id_acidente","endereco")]
n<-10
freq_min<-1
f<-1
Titulo<-"Vias com Maior Número de Acidentes Fatais - 2019-2021"
V_Fatal<-Pizza(Vias_Fatais,n,freq_min,f,Titulo)
V_FatalComo o gráfico de pizza gerado não permite a visualização da distribuição dos acidentes em todas as vias da cidade do Recife, em que ocorreu algum tipo de acidente com vítima fatal, optou-se pela geração de tabela que mostra a frequência de todas as categorias (e não apenas as maiores):
Dados<-Prep_Dados(Vias_Fatais,10000,1,1)
Tabela_Vias_Fatais<-Tab(Dados,c("Via/Logradouro","N° Acidentes"),c(11,4),list(l=100,r=100,b=0,t=50,pad=4),"Quantidade de Acidentes Fatais por Via - Acumulado 2019-2021")
Tabela_Vias_Fatais#Determinação das vias com maior número de atropelamentos de pessoas
Vias_Atropelamento<-A_Total[A_Total$tipo=="ATROPELAMENTO DE PESSOA",c("id_acidente","endereco")]
n<-10
freq_min<-1
f<-1
Titulo<-"Vias com Maior Número de Atropelamento de Pessoa - Acumulado 2019-2021"
V_Atrop<-Pizza(Vias_Atropelamento,n,freq_min,f,Titulo)
V_AtropComo o gráfico de pizza gerado não permite a visualização da distribuição dos acidentes em todas as vias da cidade do Recife, em que ocorreu acidente com atropelamento de pessoa, optou-se pela geração de tabela que mostra a frequência de todas as categorias (e não apenas as maiores):
Dados<-Prep_Dados(Vias_Atropelamento,10000,1,1)
Tabela_Vias_Atrop<-Tab(Dados,c("Via/Logradouro","Acumulado"),c(12,5),list(l=100,r=100,b=0,t=50,pad=4),"Quantidade de Acidentes com Atropelamento por Via - Acumulado 2019-2021")
Tabela_Vias_Atrop
Distribuição de Acientes com Vítimas por Tipo de Veículo
- Acumulado 2019-2021:
Objetivando se avaliar como é a distribuição dos tipos de
acidentes que mais ocorrem na cidade de Recife, foram gerados gráficos
de pizza, considerando as 5 ocorrências registradas com maior
frequência, nos anos de 2019 a 2021.
Os resultados apresentados nos gráficos são autoexplicativos, podendo-se constatar a parcela de acidentes representada pelas categorias associadas aos tipos de acidentes ocorridos.
#Distribuição por Tipo de Acidentes - 2019
Dados_2019<-A_Total[A_Total$ano=="2019",c("id_acidente","tipo")]
n<-5
freq_min<-1
f<-1
Titulo<-"Distribuição por Tipo de Acidentes - 2019"
DT_2019<-Pizza(Dados_2019,n,freq_min,f,Titulo)
DT_2019#Distribuição por Tipo de Acidentes - 2020
Dados_2020<-A_Total[A_Total$ano=="2020",c("id_acidente","tipo")]
n<-5
freq_min<-1
f<-1
Titulo<-"Distribuição por Tipo de Acidentes - 2020"
DT_2020<-Pizza(Dados_2020,n,freq_min,f,Titulo)
DT_2020#Distribuição por Tipo de Acidentes - 2021
Dados_2021<-A_Total[A_Total$ano=="2021",c("id_acidente","tipo")]
n<-5
freq_min<-1
f<-1
Titulo<-"Distribuição por Tipo de Acidentes - 2021"
DT_2021<-Pizza(Dados_2021,n,freq_min,f,Titulo)
DT_2021Como o gráfico de pizza gerado não permitiu adequada visualização da distribuição dos acidentes por tipo de acidente ocorrido, tampouco de todas as categorias, optou-se pela geração de tabela que mostra a frequência de todas as categorias (e não apenas as maiores), entre os anos de 2019 e 2021:
F_2019<-Prep_Dados(Dados_2019,100,1,1)
F_2020<-Prep_Dados(Dados_2020,100,1,1)
F_2021<-Prep_Dados(Dados_2021,100,1,1)
X<-Junta_Frame(F_2019,F_2020,c("Q1","Q2"))
X<-Junta_Frame(X,F_2021,c("Q1","Q2","Q3"))
Tab_Tipo<-Tab(X,c("Tipo","2019","2020","2021"),c(11,4,4,4),list(l=50,r=50,b=0,t=50,pad=4),"Quantidade de Acidentes por Tipo")
Tab_Tipo<-knitr::kable(X,"html", escape = F,caption="**Quantidade de Acidentes por Tipo**",col.names = c("Tipo","2019","2020","2021"),align="c")
Tab_Tipo<-kableExtra::kable_styling(Tab_Tipo,"striped", full_width = F)
Tab_Tipo| Tipo | 2019 | 2020 | 2021 |
|---|---|---|---|
| ACID. DE PERCURSO | 30 | 10 | 0 |
| ATROPELAMENTO DE ANIMAL | 6 | 6 | 6 |
| ATROPELAMENTO DE PESSOA | 247 | 148 | 160 |
| CAPOTAMENTO | 20 | 11 | 18 |
| COLISÃO | 11319 | 3675 | 1775 |
| COLISÃO COM CICLISTA | 198 | 140 | 147 |
| OUTROS | 1 | 0 | 61 |
| QUEDA | 0 | 0 | 53 |
| TOMBAMENTO | 43 | 39 | 10 |
Dentre os acidentes fatais, também foi objeto de investigação o
modo com estes estavam distribuídos conforme os tipos de acidentes
registrados, no período acumulado 2019 a 2021.
Desta forma, foi gerado gráfico de pizza para demonstração desses resultado:
#Acidentes fatais por tipo de acidente
Dados<-A_Total[A_Total$natureza_acidente=="VÍTIMA FATAL",c("id_acidente","tipo")]
n<-100
freq_min<-1
f<-1
Titulo<-"Acidentes Fatais por Tipo de Acidente - Acumulado"
Ac_Fat_Tipos<-Pizza(Dados,n,freq_min,f,Titulo)
Ac_Fat_Tipos
Visando atender objetivo proposto pelo Projeto, foi preparada
tabela para mostrar, por cada bairro, o tipo de acidente mais frequente
em cada faixa horária:
TB<-A_Total[is.na(A_Total$hora)==F,c("id_acidente","bairro","hora","tipo")]
TB<-unique(TB)
TB<-TB[,c("bairro","hora","tipo")]
TB<-dplyr::group_by(TB,bairro,hora,tipo)
TB<-dplyr::summarise(TB,Quantidade=length(tipo))
TB<-dplyr::filter(TB,Quantidade==max(Quantidade))
#Aplicação da função Pfaixas à base de inserir no dataframe TB as faixas horárias em formato de caracter correspondente a cada valor indicado no campo "hora".
FX<-Pfaixas()
TB<-merge(x=TB,y=FX,by.x="hora",by.y="hora",all=T)
#Rearranjo das colunas "hora" e "ano", uma vez que após aplicação da função merge, a coluna de refência utilizada nessa função se torna a primeira coluna do dataset resultante.
TB<-dplyr::relocate(TB,"faixa",.after ="bairro")
TB<-TB[,c("bairro","faixa","tipo","Quantidade")]
TB<-dplyr::arrange(TB,bairro)
DT::datatable(TB,caption="Tipos de Acidente com Maior Frequência por Bairro e Faixa Horária")
Também, objetivando atender objetivo proposto pelo Projeto, a
seguir segue projetado gráfico que apresenta as distribuições total de
acidentes e também daqueles com vítimas (fatais e não fatais) por tipo
de veículo, considerando apenas os 5 tipos para os quais mais ocorreram
os acidentes e considerado, também, o Acumulado no período
2019-2021:
Os resultados apresentados nos gráficos são autoexplicativos, podendo-se constatar a parcela de acidentes representada pelas categorias associadas aos tipos de veículos envolvidos nos acidentes.
#Distribuição de Acientes por Tipo de Veículo - Acumulado 2019-2021
AC_TIPO<-A_Total[A_Total$envolvido!="pedestre",c("id_acidente","envolvido")]
n<-5
freq_min<-1
f<-1
Titulo<-"Distribuição de Acidentes por Tipo de Veículo - Acumulado 2019-2021"
AC_TIPO_GRAF<-Pizza(AC_TIPO,n,freq_min,f,Titulo)
AC_TIPO_GRAF#Distribuição de acidentes com vítimas por tipo de veículo - acumulado 2019-2021
AC_TIPO_VIT<-A_Total[(A_Total$natureza_acidente %in% c("VÍTIMA FATAL","COM VÍTIMA")) & A_Total$envolvido!="pedestre",c("id_acidente","envolvido")]
n<-5
freq_min<-1
f<-1
Titulo<-"Distribuição de Acidentes com Vítimas por Tipo de Veículo - Acumulado 2019-2021"
AC_TIPO_VIT_GRAF<-Pizza(AC_TIPO_VIT,n,freq_min,f,Titulo)
AC_TIPO_VIT_GRAFDeterminação do percentual de participação de cada tipo de veículo nos acidentes com vítima fatal:
Considerando que em um mesmo acidente pode haver a existência de mais de um veículo, inclusive de tipos diferentes, é importante se avaliar qual a participação percentual de cada tipo de veículo/ente no total de acidentes ocorridos:
Veiculos_2019<-A_Total[A_Total$natureza_acidente=="VÍTIMA FATAL" & A_Total$ano=="2019",c("id_acidente","envolvido")]
Veiculos_2020<-A_Total[A_Total$natureza_acidente=="VÍTIMA FATAL" & A_Total$ano=="2020",c("id_acidente","envolvido")]
Veiculos_2021<-A_Total[A_Total$natureza_acidente=="VÍTIMA FATAL" & A_Total$ano=="2021",c("id_acidente","envolvido")]
TA_2019<-length(unique(Veiculos_2019[,1]))
TA_2020<-length(unique(Veiculos_2020[,1]))
TA_2021<-length(unique(Veiculos_2021[,1]))
Veiculos_2019<-Prep_Dados(Veiculos_2019,100,1,1)
Veiculos_2020<-Prep_Dados(Veiculos_2020,100,1,1)
Veiculos_2021<-Prep_Dados(Veiculos_2021,100,1,1)
Veiculos_2019<-dplyr::mutate(Veiculos_2019,Quantidade=Veiculos_2019$Quantidade/TA_2019)
Veiculos_2019$Quantidade<-formattable::percent(Veiculos_2019$Quantidade,2)
Veiculos_2020<-dplyr::mutate(Veiculos_2020,Quantidade=Veiculos_2020$Quantidade/TA_2020)
Veiculos_2020$Quantidade<-formattable::percent(Veiculos_2020$Quantidade,2)
Veiculos_2021<-dplyr::mutate(Veiculos_2021,Quantidade=Veiculos_2021$Quantidade/TA_2021)
Veiculos_2021$Quantidade<-formattable::percent(Veiculos_2021$Quantidade,2)
X<-Junta_Frame(Veiculos_2019,Veiculos_2020,c("Q1","Q2"))
X<-Junta_Frame(X,Veiculos_2021,c("Q1","Q2","Q3"))
Tab_Envolvido<-knitr::kable(X,"html", escape = F,caption="**Participação de Veículos nos Acidentes Ocorrido**",col.names = c("Envolvido","2019","2020","2021"),align="c")
Tab_Envolvido<-kableExtra::kable_styling(Tab_Envolvido,"striped", full_width = F)
Tab_Envolvido| Envolvido | 2019 | 2020 | 2021 |
|---|---|---|---|
| auto | 36.00% | 45.00% | 39.13% |
| caminhao | 16.00% | 15.00% | 21.74% |
| ciclista | 36.00% | 10.00% | 13.04% |
| ciclom | 4.00% | 0.00% | 0.00% |
| moto | 32.00% | 65.00% | 39.13% |
| onibus | 24.00% | 30.00% | 21.74% |
| outros | 4.00% | 0.00% | 0.00% |
| pedestre | 32.00% | 15.00% | 39.13% |
É importante destacar que, para cada ano, o somatório dos
percentuais dos evolvidos nos acidentes pode ser superior a 100%,
justamente por que em uma mesmo acidente pode existir a presença de mais
de um tipo de veículo.
Nesse sentido, por exemplo, no ano de 2020, em 65% dos acidentes daquele ano esteve envolvida, pelo menos, uma moto.
Também, objetivando atender objetivo proposto pelo Projeto, a
seguir segue projetado gráfico que apresenta a distribuição da
quantidade de vítimas fatais associadas a cada tipo de veículo,
considerando o Acumulado no período 2019-2021.
Nesse sentido, optou-se pela apresentação da distribuição da quantidade de vítimas fatais considerando todos os tipos de veículos e não apenas aqueles de maior frequência de distribuição:
AC_TIPO_FATAL<-A_Total[A_Total$natureza_acidente=="VÍTIMA FATAL" & A_Total$envolvido!="pedestre",c("id_acidente","envolvido","QTD")]
TX<-"Tipo de Veículo"
TY<-"Quantidade de Acidentes"
f<-2
Titulo<-"Quantidade de Vítimas Fatais por Tipo de Veículo - Acumulado 2019-2021"
AC_TIPO_FATAL_GRAF<-Gbar(AC_TIPO_FATAL,f,TX,TY,Titulo)
AC_TIPO_FATAL_GRAFSaliente-se que o somatório das frequências indicadas no gráfico acima pode superar o total efetivo de vítimas fatais de acidentes. Isso se explica por que em um mesmo acidente com ocorrência de vítima fatal podem estar envolvidos mais de um veículo, como, por exemplo, um auto e uma moto ou mesmo duas motos.
Visando estabelecer como se dá o comportamento da ocorrência de
acidentes ao longo do dia, foram gerados histogramas que revelam essa
distribuição de acidentes para cada faixa de horário: Os resultados
apresentados nos gráficos são autoexplicativos, podendo-se constatar a
parcela de acidentes representada pelas categorias associadas à cada
faixa horária.
#Distribuição de Acidentes por Faixa Horária 2019
H_2019<-A_Total[A_Total$ano=="2019" & is.na(A_Total$hora)==F,c("id_acidente","hora")]
TX<-"Faixa Horária"
TY<-"Quantidade de Acidentes"
Titulo<-"Distribuição de Acidentes por Faixa Horária 2019"
H_2019<-Histo(H_2019,TX,TY,Titulo)
H_2019#Distribuição de Acidentes por Faixa Horária 2020
H_2020<-A_Total[A_Total$ano=="2020" & is.na(A_Total$hora)==F,c("id_acidente","hora")]
TX<-"Faixa Horária"
TY<-"Quantidade de Acidentes"
Titulo<-"Distribuição de Acidentes por Faixa Horária 2020"
H_2020<-Histo(H_2020,TX,TY,Titulo)
H_2020#Distribuição de Acidentes por Faixa Horária 2021
H_2021<-A_Total[A_Total$ano=="2021" & is.na(A_Total$hora)==F,c("id_acidente","hora")]
TX<-"Faixa Horária"
TY<-"Quantidade de Acidentes"
Titulo<-"Distribuição de Acidentes por Faixa Horária 2021"
H_2021<-Histo(H_2021,TX,TY,Titulo)
H_2021
Também, objetivando atender objetivo proposto pelo Projeto, a
seguir segue projetado histograma que apresenta a distribuição da
quantidade de acidentes com vítimas (fatais e não fatais) por faixa
horária, associado ao período Acumulado 2019-2021.
À análise de tal gráfico é possível se avaliar em que horários ocorrem o maior número de acidentes com vítimas:
#Distribuição de Acidentes com Vítimas por Faixa Horária - Acumulado 2019-2021
H_VIT<-A_Total[(A_Total$natureza_acidente %in% c("VÍTIMA FATAL","COM VÍTIMA")) & is.na(A_Total$hora)==F,c("id_acidente","hora")]
TX<-"Faixa Horária"
TY<-"Quantidade de Acidentes"
Titulo<-"Distribuição de Acidentes com Vítimas por Faixa Horária - Acumulado 2019-2021"
H_VIT_GRAF<-Histo(H_VIT,TX,TY,Titulo)
H_VIT_GRAF
A partir da análise anteriores, optou-se por determinar a
distribuição horária de acidentes relativa às três vias da cidade do
Recife que registraram o maior número de acidentes no período acumulado
2019-2021. Assim, foram elaborados histogramas relativos a cada uma
dessas vias:
Lista<-A_Total[,c("id_acidente","endereco")]
Lista<-Prep_Dados(Lista,3,1,1)
TX<-"Faixa Horária"
TY<-"Quantidade de Acidentes"
#Primeiro lugar mais acidentes
Titulo01<-paste("Acidentes por Faixa Horária: 1° - ",Lista[1,1],sep="")
Dados01<-A_Total[A_Total$endereco==Lista[1,1] & is.na(A_Total$hora)==F,c("id_acidente","hora")]
La<-Histo(Dados01,TX,TY,Titulo01)
La#Segundo lugar mais acidentes
Titulo02<-paste("Acidentes por Faixa Horária: 2° - ",Lista[2,1],sep="")
Dados02<-A_Total[A_Total$endereco==Lista[2,1] & is.na(A_Total$hora)==F,c("id_acidente","hora")]
Lb<-Histo(Dados02,TX,TY,Titulo02)
Lb#Terceiro lugar mais acidentes
Titulo03<-paste("Acidentes por Faixa Horária: 3° - ",Lista[3,1],sep="")
Dados03<-A_Total[A_Total$endereco==Lista[3,1] & is.na(A_Total$hora)==F,c("id_acidente","hora")]
Lc<-Histo(Dados03,TX,TY,Titulo03)
Lc
Objetivando verificar possível influência das condições
climáticas ou de variáveis associadas às vias em que ocorreram os
acidentes, para os registros em que foi possível se constatar essas
informações, foram desenvolvidas gráficos e análises que objetivaram
avaliar tais parâmetros, considerando a distribuição de acidentes no
período acumulado - 2019-2021 Os resultados apresentados nos gráficos
são autoexplicativos, podendo-se constatar a parcela de acidentes
representada por cada uma das categorias associadas às condições das
vias ou condições climáticas.
#Distribuição Por condição climática
Dados<-A_Total[is.na(A_Total$tempo_clima)==F,c("id_acidente","tempo_clima")]
n<-100
freq_min<-1
f<-1
Titulo<-"Distribuição de Acidentes Conforme Condição Climática"
Cond_Clim<-Pizza(Dados,n,freq_min,f,Titulo)
Cond_Clim#Distribuição Por condição da via
Dados<-A_Total[is.na(A_Total$condicao_via)==F,c("id_acidente","condicao_via")]
n<-100
freq_min<-1
f<-1
Titulo<-"Distribuição de Acidentes Conforme Condição da Via"
Cond_Via<-Pizza(Dados,n,freq_min,f,Titulo)
Cond_ViaComo o gráfico de pizza gerado não permitiu adequada visualização da distribuição dos acidentes por condição da via, optou-se pela geração de tabela que mostra a frequência de todas as categorias (e não apenas as maiores):
Dados<-Prep_Dados(Dados,100,1,1)
Tab_Cond_Via<-knitr::kable(Dados,"html", escape = F,caption="**Distribuição de Acidentes Conforme Condição da Via**",col.names = c("Condição Via","Quantidade"),align="c")
Tab_Cond_Via<-kableExtra::kable_styling(Tab_Cond_Via,"striped", full_width = F)
Tab_Cond_Via| Condição Via | Quantidade |
|---|---|
| Seca | 13258 |
| Molhada | 1506 |
| Oleosa | 13 |
| Outros | 7 |
#Distribuição Por Conservação da via
Dados<-A_Total[is.na(A_Total$conservacao_via)==F,c("id_acidente","conservacao_via")]
n<-100
freq_min<-1
f<-1
Titulo<-"Distribuição de Acidentes Conforme Conservação da Via"
Cons_Via<-Pizza(Dados,n,freq_min,f,Titulo)
Cons_Via#Distribuição Por sinalização da via
Dados<-A_Total[is.na(A_Total$sinalizacao)==F,c("id_acidente","sinalizacao")]
n<-100
freq_min<-1
f<-1
Titulo<-"Distribuição de Acidentes Conforme Sinalização da Via"
Sinal_Via<-Pizza(Dados,n,freq_min,f,Titulo)
Sinal_Via#Distribuição Por Velocidade Máxima da via
Dados<-A_Total[is.na(A_Total$velocidade_max_via)==F,c("id_acidente","velocidade_max_via")]
n<-100
freq_min<-1
f<-1
Titulo<-"Distribuição de Acidentes Conforme Velocidade Máxima da Via"
Vel_Via<-Pizza(Dados,n,freq_min,f,Titulo)
Vel_ViaComo o gráfico de pizza gerado não permitiu adequada visualização da distribuição dos acidentes conforme velocidade máxima permitida na via, optou-se pela geração de tabela que mostra a frequência de todas as categorias (e não apenas as maiores):
Dados<-Prep_Dados(Dados,100,1,1)
Tab_Vel_Via<-knitr::kable(Dados,"html", escape = F,caption="**Distribuição de Acidentes Conforme Velocidade Máxima da Via**",col.names = c("Velocidade Max. Via","Quantidade"),align="c")
Tab_Vel_Via<-kableExtra::kable_styling(Tab_Vel_Via,"striped", full_width = F)
Tab_Vel_Via| Velocidade Max. Via | Quantidade |
|---|---|
| 60km/h | 2547 |
| 40km/h | 1100 |
| 30km/h | 668 |
| 50km/h | 157 |
| 20km/h | 63 |
| 10km/h | 5 |
| 70km/h | 2 |
Da análise dos gráficos de evolução de acidentes de trânsito
ocorridos na cidade de Recife, no período de 2019 a 2021, verifica-se
uma redução extrema no número de acidentes em 2020 e 2021 quando
comparados aos ocorridos no ano de 2019. Ainda, a mesma conclusão pode
ser verificada quando analisada a evolução da quantidade de veículos
envolvidos nos acidentes no mesmo período. Tal tendência também se
confirma quando analisados apenas os acidentes relacionados a motos e
ciclomotores.
Assim, infere-se aqui que um dois motivos para tal acontecimento se deve aos efeitos provocados pela pandemia da Covid 19, a qual, entre outras consequências, provocou restrições de locomoção das pessoas e consequentemente da utilização de veículos, modificando também o hábito de muitos recifenses.
Além disso, visando proporcionar maior fluidez ao trânsito na cidade de Recife, o incentivo à utilização de bicicletas e o desaconselhamento da utilização de veículos automotores, efetuado pelas entidades governamentais com certeza acabaram por diminuir a quantidade de veículos em circulação na cidade.
Nesse contexto, o crescimento do número de veículos disponibilizados pelas plataformas de aplicativos de transporte por veículos, como exemplo a uber, acarretou no mesmo comportamento.
Desta forma, com base nesse raciocínio, é natural se esperar que com menos veículos em circulação, menos acidentes seriam registrados na cidade.
Ainda, a intensificação das blitz de lei seca podem também ter contribuído para a redução do número de acidentes destacado.
Entretanto, apesar da diminuição no número total de acidentes, o número de acidentes com vítimas fatais e não fatais, apesar de ter diminuído em 2020 e 2021, não diminuiu na mesma proporção. Além disso, a quantidade de acidentes com vítimas fatais e não fatais, se aproximam de um certa estabilidade.
Apesar disso, é possível notar certa tendência de crescimento a partir de 2020 tanto dos acidentes envolvendo qualquer tipo de vítima quanto daqueles em que foi registrada a presença de pelo menos uma vítima fatal.
Essa mesma constatação se verifica quando, ao invés da quantidade de acidentes, é analisada a quantidade de vítimas envolvidas nos acidentes.
Importante destacar que na caraterização dos tipos de veículos,
a bicicleta (inerente ao ciclista) foi contabilizada como um tipo de
veículo. Para os acidentes envolvendo ciclistas, também se constata
menor número em 2020 e 2021 do que em 2019, no entanto, essa diminuição
não foi tão expressiva, sendo que a partir de 2020, nota-se tendência de
estabilidade.
A constatação da diminuição não acentuada do número de acidentes envolvendo ciclistas, mesmo com a existência da pandemia de Covid-19, possivelmente pode ser explicada pelo incentivo ao uso desse tipo de transporte e consequentemente do aumento de sua frota verificada na cidade de Recife.
Registre-se ainda que, no período de estudo, a maioria dos
acidentes na cidade do Recife ocorreram, na ordem, nos bairros de Boa
Viagem, Imbiribeira e Santo Amaro.
Quanto aos acidentes fatais envolvendo motos e ciclomotores
nota-se uma tendência de estabilidade, apesar de que o número desse tipo
de acidente verificado em 2020 foi de cerca de 144 % do verificado em
2019 e 2021.
No caso dos acidentes fatais envolvendo ciclistas, houve uma drástica diminuição em 2020 e 2021, quando comparados a 2019, no entanto verifica-se tendencia de crescimento do número de acidentes fatais nesse segmento a partir de 2020.
As três vias em que mais ocorrem acidentes na cidade do Recife
são, na ordem, Avenida Governador Agamenon Magalhães, Avenida Marechal
Mascarenhas de Morais e Avenida Norte Miguel Arraes de Alencar. Nessas
avenidas a maior frequência de ocorrência de acidentes ocorre no período
de 08:00h às 20:00h relativamente baixa, sendo a maioria dos picos de
distribuição de acidentes ocorridos no período da manhã.
Consoante análise dos histogramas apresentados constata-se que o
maior número de acidentes de trânsito ocorridos (tanto os acidentes
totais quanto aqueles em que há vítimas) está compreendido o período de
08:00h às 21:00h. Sendo ainda a frequência de ocorrência de acidentes no
período de 00:00h às 07:00h relativamente baixa.
O estudo também revelou que as condições das vias e as condições
climáticas não foram fatores determinantes para os acidentes, sendo no
entanto, que a possível deficiência na “sinalização da via” é o fator
que mais pode ter contribuído negativamente. Tal afirmação é só uma
hipótese, pois não existe garantia que os acidentes enquadrados nessa
categoria tenham efetivamente ocorrido por falta de sinalização das
vias.
Também, o tipo de acidente mais frequente trata-se de colisão, correspondendo a mais de 80% do acidentes em todos os cenários estudados. Além disso, os tipos de acidentes em que mais ocorrem fatalidades são, nessa ordem, colisão e atropelamento.
Ainda, a maioria dos acidentes ocorreu em vias cuja velocidade máxima de tráfego é de 60 km/h.
Destaque-se que os resultados obtidos podem auxiliar entes
executores de políticas públicas no sentido de avaliar as áreas/fatores
que mais contribuem para a ocorrência dos acidentes, tomando ações para
sua redução.
Desta forma, os stekaholders destacados na introdução podem utilizar os resultados obtidos como subsídios para: implantação de campanhas educativas; inspeções nas vias públicas; determinação dos locais mais necessários para implantação de blitz; instalação de câmeras; instalação de pontos de fiscalização eletrônica; mudança de fluxo e sentido de vias; etc..
Importante destacar que, apesar das considerações acima
dispostas, as tendências acima comentadas só podem ser confirmadas
acrescentando-se ao estudo os dados relativos aos acidentes ocorridos em
anos subsequentes, como por exemplo os relativos a 2022.
Também, a inserção ao estudo de outras bases de dados como exemplo a base de dados relativa à evolução da frota de veículos na cidade de recife - Link: https://cidades.ibge.gov.br/brasil/pe/recife/pesquisa/22/28120