29 de outubro de 2014

Edição de texto: Transformar listas em tabelas

Como transformar textos lineares, digitados em formato de "ficha", em tabelas, com a ajuda de um editor de texto e fazendo buscas e substituições. Aqui foi usado o editor de texto gratuito para mac TextWrangler e o Open Refine. O TextWrangler tem suporte a buscas e substituições mais avançadas (expressões regulares, ou GREP). Uma opção para windows é o Notepad++, mas até o Word quebra alguns galhos.

Porque a tabela?

Uma tabela é muito mais útil para trabalhar com muitas ocorrências de estrutura semelhante, comparáveis e estruturadas. Com a tabela as informações podem ser filtradas, reordenadas, calculadas, visualizadas, etc., coisas que não poderiam ser feitas com o texto puro.


Link direto do vídeo: http://youtu.be/SOBvEj7KQl4

Transformar listas em tabelas

Aqui vai uma descrição rápida do processo que eu fiz enquanto limpava esse texto e gravava o vídeo:
1. Conferir/identificar padrões
2. Usar um editor de texto mais poderoso (com suporte a expressões regulares "GREP")
3. Identificar número de ocorrências, e se os mesmos itens estão em todas as ocorrências
4. Organizar anotações:
- número de campos
- ordem
- como vai ficar a tabela
- número de tabs pra organizar as colunas
5. Começar a limpar o texto.
- eliminar os campos e jogar o número de tabs correspondentes à posição de cada campo
6. Fill Down com o Google/Open Refine
- adicionar cabeçalho
- identificar caractere separador dos campos: tab (formato TSV)
- garantir que ele esteja lendo a primeira linha como cabeçalho (se você já pos o cabeçalho.)
- criar projeto
- fazer o Fill Down em todas as colunas até chegar na última, sem fazer na última. Opções da coluna > Edit Cells > Fill Down.
- o Fill Down preenche as células vazias com duplicando o conteúdo até encontrar a próxima célula preenchida, e assim por diante.
- o objetivo é fazer com que a última linha da sequência esteja com todos os campos preenchidos. 
- assim que a última linha da sequência estiver inteira preenchida (feito o Fill Down em todas as colunas necessárias), pode-se apagar as outras linhas temporárias.
- é possível fazer isso identificando as linhas que tem o último campo vazio.
- Opções da coluna > Facet > Customized Facet > Facet by Blank. O facet identifica e indexa todo o conteúdo que tem naquela coluna. A partir do index que ele faz, você pode filtrar a tabela, clicando no item que você quer mostrar. O facet que escolhemos (Facet by Blank) identifica as linhas vazias e preenchidas. Então ao clicar em true, só as linhas vazias (naquela coluna) vão aparecer. E clicando em false, só as linhas preenchidas vão aparecer.
- Apagar linhas vazias: Selecionar "true" > Opções da coluna "All" > Edit Rows > Remove all matching rows.
- agora todas as linhas estão preenchidas. Exportar > Escolher um formato 
7. Puxar pro Excel.
8. Feito.

Um outro exemplo:

Link direto do vídeo: http://youtu.be/yxrkg9xFxyo

--
Using GREP or RegEx (regular expressions) to transform textual lists into tables / spreadsheets. TextWrangler (mac) and Open Refine and Microsoft Excel helped to do the trick.

12 de agosto de 2014

Gráficos simples com Datawrapper

Usando a ferramenta alemã Datawrapper para fazer gráficos simples (e interativos) para a web. Abaixo como ficam os gráficos publicados, o passo a passo de como fazer e na sequência um vídeo do passo a passo.

Pesquisa Ibope para presidente (7/ago)

Intenção de voto em 7/ago, em %

Evolução da intenção de voto, em %

Fonte: Ibope. Metodologia: Pesquisa realizada entre 3 e 6 de agosto de 2014 em 17 municípios. Margem de erro: dois pontos percentuais. Nível de confiança: 95%. Pesquisa registrada no TSE sob o protocolo nº BR-00308/2014.




Como fazer

0. Coletar e organizar os dados.

Recomendo manter uma planilha organizada com os dados (resultados da pesquisa) e os metadados (fonte, metodologia, ...). Assim fica mais fácil e confiável para copiar e conferir as informações que vão ser visualizadas.

Para a pesquisa simples (com uma data): Gráfico de barras
Formato da tabela para gerar o gráfico de barras

Para a pesquisa de evolução (várias datas): Gráfico de linhas
Formato da tabela para gerar o gráfico de linhas

No Datawrapper o processo é bem parecido para os dois tipos de gráfico. Para o gráfico de linha só há uma diferença na aba Personalizar, mas está explicada abaixo marcada com "Atenção!".

1. Colar os dados no Datawrapper

2. Conferir se ele entendeu os dados certos

• cada tipo de informação está em uma coluna?
• o cabeçalho foi identificado? (se a tabela tem cabeçalho esta opção tem que estar marcada: "A primeira linha são os rótulos")
• os números que aparecem nessa tabela são os mesmos que foram coletados antes?


3. Criar o gráfico

• Escolha o tipo de gráfico: barras (1 data) ou de linha (várias datas)

• Edite as cores. Escolha uma neutra (cinza) ou escolha uma para cada categoria (partido):


• Atenção: ajuste extra para gráfico de linhas!
Marque "Rótulos diretos" e "Estender até o zero"






• Ajuste o tamanho para não ficar espaço sobrando

• Deixe sem título, descrição e fonte, para adicionar direto pela página, antes e depois do gráfico.

4. Publicar e incorporar (embed)

Copie o código e cole no meio da matéria.

5. Adicione os títulos e metadados ao código

Para essa etapa vai servir aquela planilha com os dados organizados.
Não esqueça de adicionar:
• Título
• Descrição e unidade dos números
• Créditos (Fonte)
• Metodologia e observações


Editando os gráficos já publicados

Você pode editar todos os gráficos já produzidos.
Clique no seu nome de usuário ou em 'Meus gráficos > Todos os gráficos' para abrir sua galeria, que vai ter tudo o que você já fez, organizados por ordem de modificação.

Clique no gráfico para editá-lo.
(Gráficos sem nome ficam com um código esquisito. Preferi fazer o gráfico sem título por achar que o estilo de título padrão do Datawrapper ficaria muito grande no contexto de uma página de matéria. Mas se achar que não tem problema, use o título deles mesmo. Fica até melhor para organizar os gráficos já publicados dentro da galeria)


Após editá-lo, clique em Gráfico Re-publicado para atualizar as alterações





Se o código já foi adicionado em alguma página publicada, confira se as alterações foram atualizadas. Se não, é mais garantido copiar novamente o código e substituir o antigo pelo novo.






Passo a passo em vídeo

Gráfico de barras no Datawrapper (veja direto no Youtube)

11 de agosto de 2014

Testando ferramentas: fazer gráficos simples

Com Google Docs (Spreadsheets)

https://docs.google.com/spreadsheets

Pontos negativos

• Não adiciona rótulos numéricos (números próximos aos gráficos, labels to data points, data point values)
• Sem espaço para fonte / crédito / observações
• Gráfico de linha: Não tem muita opção para editar a linha do tempo (eixo horizontal)
  • datas ficam não ficam sempre em português
  • as datas mostradas não são as dos dados, são datas com intervalo regular
• Gráficos de barras
  • não mostram o rótulo numérico das barras. No gráfico de linha tudo bem, mas no gráfico de barras fica muito esquisito. Parece que a solução é uma gambiarra pra adicionar os números como anotação (precisa duplicar os números em uma segunda coluna e formatar como texto). Mas a gambiarra só funciona pro gráfico de linha (onde não precisava). No gráfico de barra nem funciona (parece que via API tem uma gambiarra que funciona)
  • barras horizontais: espaço muito curto no eixo vertical (nomes ficam cortad...)
  • barras verticais: assim os nomes cabem no eixo horizontal.

Pontos positivos

• armazenado nas tabelas do Google Docs
• é o mais limpo e neutro: sem créditos, sem links, sem frescura.
• datas irregulares ficam corretamente espaçadas
• se atualizado na tabela, os gráficos embedados são atualizados









Com Data Wrapper

https://datawrapper.de/

Pontos positivos

• Tem espaço para fonte / crédito
• Gráficos corretos, fáceis de fazer, interativos e embedáveis.
• Vários tipos de gráfico.
• Gráficos ficam armazenados em uma conta grátis.
• Gráficos de barras: tem rótulo numérico (diferente do GDocs)

Pontos negativos

• Espaço é pequeno para observações maiores, como metodologias
• Tem versão em português, mas publicado ficam algumas coisas em inglês (Created with, Source, Get the data)









Com Chart Builder

http://quartz.github.io/Chartbuilder/

• Imagem estática apenas.
• Exporta apenas a tabela em html.





Candidato17/abr
Dilma Roussef (PT)37%
Aécio Neves (PSDB)14%
Eduardo Campos (PSB)6%
Pastor Everaldo (PSC)2%



Com Infogram

https://infogr.am/

Pontos negativos

• Pago
• Estilo: pouco neutro (sim, foi feito para ser bonitinho e amigável). E parece haver poucas opções para alterar (será só na versão grátis?)

Pontos positivos

• Fácil de mexer
• Boa interface
• Várias opções de configurações dos gráficos
• Funciona com copiar e colar e com carregar a partir de arquivo




27 de maio de 2014

Fusion Tables - conferir e editar endereços

O Google Fusion Tables é bom para localizar muitos endereços de uma só vez, por algumas razões:
- localiza bem (usa o mecanismo do google maps)
- o endereço pode estar em vários formatos (endereço, bairro, rodovia, país...)
- permite verificar e corrigir o endereço.

Essa última razão é a mais importante quando se trabalha com muitos dados (já localizamos mil endereços com ele. Ter como conferir as localizações era estritamente necessário).

Conferindo e corrigindo endereços

Veja como conferir os endereços localizados e corrigir o endereço quando necessário:



(As coordenadas no vídeo foram conseguidas usando o QGis. Veja abaixo outras opções)

O filtro permite que você escolha um campo da tabela para ver uma parte dos dados por vez. Dependendo de como estão os dados, é bom filtrar por bairro ou regional, assim é fácil de ver os pontos errados (outliers), pois estarão mais longe. O filtro é fácil de ser usado, há um botão Filter logo acima do mapa. As opções para filtrar aparecem no painel à esquerda.

Formato de coordenadas

O endereço que o mecanismo do Google não encontrou foi substituído por um par de coordenadas. As coordenadas precisam estar nesse formato:

YY.YYYY, XX.XXXX

Sendo:
Y=Latitude
X=Longitude
Vírgula para separar os dois números
Ponto para ser o divisor de números inteiros e decimais
(no lugar da vírgula que usamos no Brasil)

Nesse caso as coordenadas foram coletadas no QGis e invertidas (formato: LAT,LONG) para que o Fusion Tables encontre o local exato.

Como conseguir as coordenadas

O par de coordenadas para o local desejado pode ser conseguido de várias formas. Na seção Mapear tem várias ferramentas para trabalhar com coordenadas. Abaixo as opções mais adequadas para este trabalho com o FusionTables:

1. Um site que fornece coordenadas

Este site dá a coordenada para o ponto que você escolhe no mapa: http://itouchmap.com/latlong.html

Veja outro exemplo usando este site:



Ao clicar no ponto (marker), no balão que se abre já é possível copiar as coordenadas no formato que o FusionTables entende:


Ou ainda, no mesmo site, logo abaixo do mapa tem as coordenadas no mesmo formato. Lembre-se de que para o FusionTables achar corretamente as coordenadas devem estar na sequência explicada acima.

2. Usando o Google Maps Antigo

Se você ainda é um sortudo que tem acesso ao Maps antigo – antes das modernas atualizações que o deixam mais lento e sem as opções que haviam antes – você pode usá-lo para conseguir coordenadas. No painel à esquerda, role até o final e selecione o link pequeno em azul: Labs do Google Maps (Maps Labs).


Na nova janela, ative as opções relativas a coordenadas (ou a LatLng).

Depois disso clique no mapa com o botão direito e selecione a opção "Posicionar marcador do LatLng"("Drop LatLng marker"). O balão que aparece contém as coordenadas em texto pronto para ser copiado (às vezes não está pronto, tem que trocar o divisor de decimal de vírgula por ponto)


3. Usando o QGis

QGis é um software open-source para trabalhar com mapas. Se você tem mapas em shapefile pode ser muito útil trabalhar com ele. Para instalar o plugin de coordenadas vá no menu Plugin > Manage Plugins e marque o Coordinate Capture:


O plugin habilita um painel; clicando no botão Start Capture habilita a ferramenta. Clique no mapa e a coordenada é salva no painel, e pode ser copiada. (Atenção: para o FusionTables, estas coordenadas devem ser invertidas para: Lat, Long).