Tutoriais
ggplot2: Do básico ao avançado
Visualização de dados é a base fundamental de uma boa análise e pode ser o fator que separara um trabalho amador de uma entrega profissional. Esta série de posts ensina os fundamentos do ggplot2 desde o início.
Posts
Film ratings over the decades: replicating a Nexo plot
In this tutorial, we delve into the world of cinema ratings over the decades, examining how films from various eras are rated on IMDb. We’ll replicate a plot originally published in Nexo, a Brazilian media outlet that produces fantastic data visualizations. With these techniques, you can now apply similar methods to analyze and present your own data sets.
Punchcard plots in R
Punchcard plots are an alternative way to visualize data distributed across two categorical dimensions, such as days of the week and hours of the day. In this tutorial, you’ll learn how to create a punchcard plot using R and ggplot2. I show some of the basics of this plot and also how to create more sophisticated plots.
Replicating the Github Contributions plot in R using ggplot2
In this post I’ll show how to replicate the infamous GitHub contributions graphic using ggplot2
Linha-4 Amarela Metrô de São Paulo
Neste post, analiso o fluxo de passageiros na Linha 4-Amarela do metrô de São Paulo. A demanda permanece abaixo dos níveis pré-pandemia, mesmo após a abertura da estação Vila Sônia. O fluxo nos dias úteis está 10% abaixo dos níveis pré-pandêmicos, enquanto nos finais de semana a queda é de 3,6%. O impacto do aumento da tarifa em junho-24 é incerto. Estações com baldeações seguem sendo as mais movimentadas.
Finding All Starbucks in Brazil
In this post, I show how to find all Starbucks in Brazil using web scraping in R. I also show how to use the Google Places API to add ratings information for all Starbucks units.
Line-4 Metro
In this post I show how to webscrape all publicly available information on passenger flow from the Line-4 Metro in São Paulo. This post is part of a larger series where I gather all data on the subway lines in São Paulo.
Finding all The Coffee shops in Brazil
In this post, I’ll show you how to map every The Coffee shop in Brazil. I also show how to
Census Tracts in Brazil
Census tracts are the smallest administrative divisions that provide socio-economic and demographic data. They are highly useful for statistical and spatial analysis, offering a robust and reliable set of information at a fine geographical scale.
Finding coffee shops in Brazil
In this series of posts, I will explore the coffee shop scene across Brazil. We’ll focus on how we can use data to understand where these shops are located, their characteristics, and why they matter in the larger picture. All of this will be done using R
and a few handy packages to web scrape addresses of coffee shops throughout the country.
Analfabetismo no Brasil
Os dados mais recentes do IBGE revelam um padrão geográfico marcante na taxa de analfabetismo no Brasil. Os municípios do nordeste do país apresentam taxas de analfabetismo quase 3x maiores do que no restante do país. O gender gap na taxa de alfabetização também é maior nas cidades do nordeste.
Generations in Brazil
Brazil has an enormous ‘young’ population that will both boost its labor force in the years to come. Failures in the education system and unequal access to opportunities, however, may dampen this potential economic gain. Recent statistics indicate that Brazil has one of the largest NEET populations in the world.
GDP in Brazil
A choropleth map showing the spatial distribution of Brazilian GDP by city. Colors represent the economic sector with the highest share of contribution to total city GDP. Data comes from the most recent National Accounts data from IBGE (2023).
Administrative and Statistical Divisions in Brazil
In this post I present the main administrative and statistical subdivisions of the Brazilian territory. All information comes from IBGE, the official statistical bureau. I also show how to easily interpolate data from these shapefiles to custom statistical grids such as Uber’s H3 hexagons.
Índice de Envelhecimento no Brasil
Um mapa coroplético que apresenta o Índice de Envelhecimento por município do Brasil segundo os dados do mais recente Censo Demográfico do IBGE.
Nascimentos e Óbitos no Brasil
Neste post analiso os dados do mais recente Estatísticas do Registro Civil do IBGE. Esta base de dados estima o número total de nascidos vivos e de óbitos em cada município a cada ano. Os dados são bastante detalhados e permitem diversos tipos de análise.
Importando dados em PDF no R
Neste post vou mostrar uma solução para importar dados em formato PDF de maneira fácil e prática usando R
. Arquivos PDF não são um típico formato de armazenamento de dados, como csv
, PDFs são relatórios que combinam texto, imagens, tabelas, etc. Ainda assim, não é incomum receber tabelas de dados salvas dentro de arquivos PDF.
Mapas Interativos com Leaflet e R
Neste post mostro como fazer mapas interativos usando o pacote leaflet
no R. O pacote é bastante flexível na construção de mapas, permitindo muitas opções de customização. Mostro como fazer mapas simples de pontos e também como fazer mapas coropléticos.
Encontrando todos os Starbucks do Brasil
Neste post mostro como encontrar todos os Starbucks do Brasil usando webscrapping dentro do R
Enriquecendo e coletando do Google Maps
Neste post mostro como usar o Google Places API para importar informação do Google Maps dentro do R. O foco deste post será no Places, que encontra informações sobre estabelecimentos ou pontos de interesse. Também mostro como montar um mapa interativo com os resultados.
Casas e Apartamentos
Neste post exploro os dados recentes do Censo sobre tipos de domicílios nas cidades brasileiras.
Acidentes de Trânsito em São Paulo
Neste post exploro o padrão espacial dos acidentes de trânsito em São Paulo. O detalhamento dos dados nos permite enxergar padrões sazonais intradiários e intrasemanais. De maneira geral, o maior número de acidentes coincide com locais e regiões de grande tráfego de veículos.
Preços de Aluguel e de Venda de Imóveis
Os mercados de aluguel e de venda de imóveis são interligados e deve existir algum tipo de equilíbrio entre eles. Neste post exploro macrotendências destes mercados usando a série do FipeZap. Os resultados indicam a possibilidade um novo ciclo de aluguel, uma quebra na tendência histórica entre os mercados.
Médias móveis
O filtro de médias móveis serve para suavizar séries de tempo e encontrar tendências nos dados. Este filtro é bastante simples e pode ser escalado com facilidade para lidar com múltiplas séries de tempo.
Energia Elétrica e Crescimento Econômico no Brasil
A demanda por energia elétrica é geralmente entendida como uma proxy do nível de produção de um país. Na prática, ela funciona como uma proxy mensal do PIB. Neste visualização mostro como a evolução destas variáveis divergiu nos últimos anos.
Filtro HP e Filtro de Hamilton
Ciclos variam de periodicidade e há várias abordagens para decompor uma série de tempo, separando a tendência do ruído. Neste post, discuto brevemente sobre os tipos de tendências e, talvez, a metodologia mais comum para encontrar o ciclo de uma série: o filtro HP. Também discuto um recente paper de Hamilton (2017) que critica o uso do filtro HP e propõe um novo filtro baseado numa regressão linear simples.
Acessibilidade financeira à moradia em São Paulo
Neste post exploro em maiores detalhes indicadores de acessibilidade financeira à moradia. Apresento uma análise histórica a nível nacional e o retrato da desigualdade do acesso à moradia em São Paulo.
Gradient Descent
O algoritmo de Gradient Descent é um otimizador amplamente utilizado em Machine Learning para minimizar funções de custo. Este otimizador simples é baseado na direção do gradiente da função. Neste post explico a matemática que sustenta este método e mostro como implementá-lo passo a passo.
Preços de Imóveis no Brasil
Existe uma impressão generalizada de que o preço dos imóveis no Brasil cresceu muito nos últimos anos. Neste post mostro como, em termos reais, o preço médio dos imóveis no Brasil andou de lado; na prática, os preços atuais estão abaixo dos valores observados em 2010.
Tendência e Sazonalidade
Séries de tempo apresentam diversos padrões sazonais. Em econometria, o interesse nem sempre está na sazonalidade, em si, mas na sua eliminação para chegar na tendência de uma série. Este post apresenta algumas maneiras para visualizar e modelar a sazonalidade de uma série.
Acesso a Hospitais e Leitos em São Paulo
Neste post, vou mapear a acessibilidade a hospitais e leitos em São Paulo. Para avaliar quantitativamente o nível de acessibilidade vou montar uma métrica bastante simples: o tempo mínimo necessário que se leva para chegar no hospital/leito mais próximo, considerando um deslocamento de bicicleta.
Carros e Renda em Sao Paulo
Este post analisa a relação entre a posse de automóveis e a renda domiciliar usando dados da Pesquisa Origem e Destino do Metrô de 2017. Um modelo de escolha discreta revela um impacto significativo da renda na decisão de possuir um carro. Idade, educação e filhos também são fatores importantes e que aumentam a probabilidade do domicílio ter um automóvel. O único fator encontrado que reduz a probabilidade do domicílio ter um automóvel é ele ser chefiado por uma mulher.
O novo tidyverse: select
Neste post ensino abordagens diferentes para selecionar colunas de maneira eficiente. Apresento também as novidades que o dplyr
trouxe nos últimos anos como as funções tidyselectors, que ajudam a selecionar colunas com base em padrões lógicos.
Uruguay in numbers
Uruguay has earned acclaim as a model democracy, leading the Economist’s Democracy Index and holding the status of the least corrupt country in Latin America. With a GINI index around 40, it stands out for its commitment to social equality, contrasting sharply with Brazil’s index of 52-53. I dedicated a Saturday afternoon to delve into Uruguay’s history, culture, and contemporary landscape, documenting my learning journey.
Weekly Viz: Brazilian Inflation
Replicando gráficos
Neste post mostro como replicar alguns gráficos de publicações usando apenas o ggplot2.
Weekly Viz: Car Dependency in São Paulo
São Paulo boasts a predominantly clean energy matrix, with the city’s primary challenge lying in the transportation sector. A simple manner to capture car dependency is to measure the prevalence of car-free households. Using OD data across 329 zones I make simple visualizations that suggest that income constraints, rather than preferences, play a pivotal role in keeping car usage low. Notably, some affluent OD zones in close proximity to key business districts exhibit the lowest share of car-free households.
Censo 2022: O que houve de errado?
Houve certo rebuliço nas redes sociais, quando do lançamento dos dados mais recentes do Censo Demográfico de 2022. O fato carregado na maior parte das manchetes do Brasil foi a queda na população brasileira. Até 2021, projetava-se que a população brasileira estivesse em torno de 213 milhões de habitantes. O número que o Censo trouxe foi de 203 milhões, queda de 10 milhões de habitantes em relação ao previsto.
Nascimentos no Brasil
Tende-se a pensar que a data de nascimento de um indivíduo é algo completamente aleatório. Neste post faço algumas visualizações para investigar o padrão de sazonalidade nos nascimentos e concluo com uma regressão simples que aponta a presença de sazonalidade.
Ensino Superior em São Paulo
Um mapa coroplético que apresenta o percentual de adultos com ensino superior. Vê-se nos dados o conhecido padrão da cidade: indicadores de ensino superior altos dentro do Centro Expandido da cidade, que vão decaindo gradativamente à medida que se aproxima da periferia.
Expectativa de Vida em São Paulo
Um mapa coroplético que apresenta a desigualdade na expectativa de vida nos distritos de São Paulo. Do Jardim Paulista até Anhanguera são 23 anos de diferença na idade média ao morrer. Enquanto no Jardim Paulista espera-se viver até 82 anos, em Anhanguera a expectativa de vida não chega aos 60 anos.
Weekly Viz: Transportation in São Paulo
This week, I delve into the transportation modes within the Greater São Paulo Region by analyzing data sourced from the Origin Destination Survey. The achievement of recently announced sustainability goals, targeting net-zero emissions by 2050, hinges significantly on transportation choices.
Envelhecimento no Brasil
O futuro demográfico do Brasil, em grande parte, já é conhecido. Assim como no resto do mundo, a combinação de queda de taxa de fecundidade e aumento de expectativa de vida implica no envelhecimento da população. Neste post mostro a distribuição espacial do índice de envelhecimento no Brasil.
Weekly Viz - Brazilian Census
Brazil in Charts: Unemployment
Cidades Brasil
Este tutorial ensina como fazer um mapa da altitude de ruas de uma cidade usando programação funcional. O princípio da programação funcional é de decompor uma tarefa complexa em funções modulares, que tornam o código mais eficiente e estável. Ao final do tutorial, será possível reproduzir o mapa de altitude usando somente uma linha de código.
Weekly Viz: Nascimentos no Brasil
Nesta semana resolvi olhar os nascimentos no Brasil. Há menos pessoas nascendo? Em quais meses nascem mais bebês?
Weekly Viz: Ruas de Porto Alegre
Weekly Viz: Recife em mapas
O impacto dos juros na demanda imobiliário
A taxa de juros é talvez a variável macroeconômica mais importante para se observar quando se pensa em financiamento imobiliário. Neste post apresento o básico do financiamento habitacional e mostro como o aumento dos juros impactou a acessibilidade à moradia. Por fim, comento sobre a recente queda na taxa SELIC.
Importando dados do SIDRA
Importando dados abertos do IBGE via API usando o sidrar no R.
Visualizando uma única variável
Algumas ideias soltas sobre como visualizar uma única variável usando vários tipos de gráficos distintos em ggplot2.
Visualizando o IPCA
Neste post discuto e apresento diversas maneiras de visualizar o IPCA incluindo alguns gráficos peculiares para enxergar a distribuição dos valores da inflação.
ARMA: um exemplo simples
Neste post mostro como modelar um ARMA simples no R usando o pacote {astsa}.
Aquecimento Global
Cada listra nesta imagem representa a temperatura de um ano desde o 1850 até o presente. A mensagem é bastante clara: o planeta está cada ano mais quente e é nos anos recentes que estão concentradas as maiores altas de temperatura. Neste post discuto como reproduzir esta visualização usando R.
Crescimento do PIB per capita no mundo
Reproduzindo uma visualização do portal Nexo
Repost: Expectativa de vida e Crescimento Econômico
Neste tutorial mostro como criar visualizações ricas mostrando correlações, usando os dados de crescimento econômico e expectativa de vida do Gapminder.
MQO - teoria assintótica
Neste post discuto e apresento simulações de alguns resultados assintóticos de MQO. Estes resultados permitem entender a distribuição dos estimadores MQO e o comportamento dos coeficientes à medida que o tamanho da amostra aumenta. Compreender esses resultados é fundamental para realizar inferências estatísticas precisas na análise de regressão.