De vez em quando vou colocar aqui algumas dicas de funções em linguagens que já trabalho ou que estou aprendendo.
A linguagem R é uma linguagem de programação livre que inicialmente foi criada para trabalhar com análises estatísticas, mas hoje em dia já têm coisas de muitas outras áreas implementadas em R.
A dica é sobre a função aggregate, que, como o nome já diz, agrega/une dados. O exemplo a seguir traz uma tabela com dados numéricos quaisquer para cada ítem (população, por exemplo, ou quantidade de qualquer coisa).
estado cidade bairro qtd
CE Crato Centro 1
CE Crato Outro 2
CE Fortaleza Centro 3
CE Fortaleza Outro 4
SP Campinas Centro 5
SP Campinas Outro 6
SP Sampa Centro 7
SP Sampa Outro 8
Essa tabela está salva em txt ("tabela.txt", digamos), com os campos separados por tabulação.
# Carregando tabela na variável "tabela" tabela <- read.delim('tabela.txt') # Agregando a tabela por estados, pegando a soma tab_por_estados = aggregate( tabela$qtd, list('Estado'=tabela$estado),FUN=sum) # Agregando a tabela por cidades, pegando a média tab_por_cidades = aggregate( tabela$qtd, list('Cidade'=tabela$cidade),FUN=mean) # Explicação tabela$qtd # ~> Campo a ser modificado list('nome_novo_do_campo'=tabela$cidade) # ~> O campo será renomeado para 'nome_novo_do_campo' # ~> depois do igual ('='), deve ter o campo da # tabela originala ser agrupado FUN=mean # ~> A função usada para agrupar os dados (ex: mean, sum, ...)
As novas variáveis tab_por_estados e tab_por_cidades conterão, respectivamente:
> tab_por_estados
Estado x
1 CE 10
2 SP 26
> tab_por_cidades
Cidade x
1 Campinas 5.5
2 Crato 1.5
3 Fortaleza 3.5
4 Sampa 7.5
Em breve vou postar mais sobre essa super-linguagem!
Para mais informações sobre o R:
Wikipedia: http://pt.wikipedia.org/wiki/R_(linguagem_de_programação)
Site oficial: http://www.r-project.org/