Aplicando o conhecimento de forma simples e auto-explicativa.

sábado, 17 de julho de 2010

R-Project



Quero inaugurar este blog falando de uma ferramenta fantástica, que faz parte da minha vida acadêmica e profissional há alguns anos, o R-Project, ou simplesmente R para os intimos. O R é um software de análises gratuíto, que pode ser baixado em http://www.r-project.org. Com ele é possível contruir gráficos de diversas formas e manipuar dados com muita facilidade, uma vez aprendido o código. O R é uma linguagem de programação, o que implica em uma curva de aprendizado um pouco lenta, comparando-o com soluções point and click e drag and drop. O ideal é ter algumas aulas introdutórias com alguém já conhecedor do assunto, para facilitar o aprendizado. Caso isso não seja possível existe muito material disponível na rede sobre o assunto, uma vantagem clara de softwares com distribuição gratuíta.

De grande valia para usuários brasileiros, é o grupo R_STAT, do yahoo groups, onde a troca de conhecimento é algo fora do normal. Alguns colaboradores/participantes são figuras certas, como o professor Paulo Justiano, da UFRP, os colegas Henrique Dallazuanna, Walmes Zeviani, Edson Lira, Mauro Sznelwar, entre outros, que sempre tiram minhas dúvidas. Além do R_STAT, existem as listas oficiais de discussão, que podem ser vistas em http://www.r-project.org/mail.html.

Não pense que por ser "free" o R é um software de baixa credibilidade, pelo contrário, ele possui o Regulatory Compliance and Validation Issues do FDA (Food and Drug Administration) e trabalha com os padrões IEEE (Institute of Electrical and Electronic Engineers).

Sem dúvida alguma a principal vantagens do R, são os algoritimos já implementados,  onde torna-se muito simples ajustar diversos modelos de regressão simultaneamente, e compará-los, mas é necessário o conhecimento sobre  o assunto. Ainda sobre modelos de regressão, é muito claro a vantagem em se fazer isso através  do R ao invés do Excel, por exemplo. Onde acaba-se gerando multiplas planilhas, o que complica a manipulação de dados ainda mais quando se deseja comparar multiplos modelos de regressão, são vários "Ctrl +c" e    "Ctrl +v", sem falar na precisão IEEE.

Alguns algoritmos implementados:
  • Redes Neurais,
  • Regressão Generalizada,
  • Maquina Vetor de Suporte,
  • Clusters,
  • Discriminates, Linear e Quadrática,
  • Séries Temporais,
  • Etc.
Esses são apenas os que me vem a cabeça neste momento, além das bibliotecas,  ou pacotes, como são conhecidos,  desenvolvidos pelos usuários. Esses pacotes precisam passar pela supervisão de uma equipe de colaboradores do R para que sejam validados.
Alguns nomes que fazem ou fizeram parte dos grupo de colaboradores: Douglas Bates, John Chambers, Peter Dalgaard, Seth Falcon, Robert Gentleman, Kurt Hornik, Stefano Iacus, Ross Ihaka, Friedrich Leisch, Thomas Lumley, Martin Maechler, Duncan Murdoch, Paul Murrell, Martyn Plummer, Brian Ripley, Deepayan Sarkar, Duncan Temple Lang , Luke Tierney, Simon Urbanek,  Valerio Aimale, Thomas Baier, Roger Bivand, Ben Bolker, David Brahm, Gran Brostrm, Patrick Burns, Vince Carey, Saikat DebRoy, Brian D'Urso, Lyndon Drake, Dirk Eddelbuettel, John Fox, Paul Gilbert, Torsten Hothorn, Robert King, Kjetil Kjernsmo, Philippe Lambert, Jan de Leeuw, Uwe Ligges, Jim Lindsey, Patrick Lindsey, Catherine Loader, Gordon Maclean, John Maindonald, David Meyer, Jens Oehlsch gel, Steve Oncley, Richard O'Keefe, Hubert Palme, José C. Pinheiro, Anthony Rossini, Jonathan Rougier, Günther Sawitzki, Bill Simpson, Gordon Smyth, Adrian Trapletti, Terry Therneau, Bill Venables, Gregory R. Warnes, Andreas Weingessel, Morten Welinder, Simon Wood, and Achim Zeileis, entre outros.

Após tantos elogios preciso dizer que nem tudo é prefeito. O R ainda sofre com a capacidade de tratar grandes bases de dados, isso porque ele aloca tudo na memoria RAM Existem maneiras de administrar, em parte, esse problema. Recentemente Bill Venables incluiu no CRAN do R o pacote SOAR, que auxilia este problema.  Acredito que mais cedo ou mais tarde isto será solucionado.  Mais uma vantagem é a integração com diversos tipos de software, desde Excel, Access, a diversos tipos de banco de dados. Em meu ambiente de trabalho eu tenho a feliz experiência de utilizá-lo, com os softwares citados e com um banco SQL server, a partir da biblioteca RODBC. Em postagens futuras vou apresentar exemplos de como usar esses pacotes.
Minha sugestão é que R seja utilizado em conjunto com um editor de texto, como o Tinn-R (é o que eu uso) , ou o bloco de notas, ou qualquer outro de sua escolha, a vantagem do primeiro é que,  por ter sido desenvolvido para o próprio R, ele colore as funções e os parâmetros, ficando mais fácil a utlização. 

A seguir seguem dois gráficos gerados a partir do R.




Para finalizar este primeiro post, um vídeo sobre regressão linear no R.

Este vídeo não foi produzido por mim e atribuo todos os créditos ao seu autor.