Artigo integração R e Java

download Artigo integração R e Java

of 6

Transcript of Artigo integração R e Java

Integrando as linguagens Java e RBruno Henrique de Oliveira Peixoto

1 - IntroduoR o nome de uma linguagem de programao voltada para clculo, estatistica e grficos. Sendo assim, muito usada pelo comunidade acadmica nos cursos na rea de exatas. Esta linguagem possui muitas facilidades para se trabalhar com nmeros, vetores e tabelas. Alm disso, open-source. Ao contrrio dos limitados pacotes Java para clculos que existem por a. Para se ter uma ideia do poder dessa linguagem, possvel at plotar grficos em 3D. Sendo assim uma alternativa para o JfreeChart ou para qualquer outro pacote de plotagem de grficos em Java. A comunidade R bastante ativa, e os usurios contribuem com um grande nmero de pacotes que oferecem as mais variadas funcionalidades. Deste modo, uma integrao entre R e Java pode dar ao desenvolvedor um arsenal de causar inveja a qualquer linguagem. Atualmente esta linguagem vem ganhando fora graas ao interesse de empresas e pesquisadores em Minerao de Dados. Logo, nada mais conveniente que uma linguagem feita para trabalhar com clculos para se fazer uma Minerao de Dados. Vale ressaltar tambm que essa linguagem pode ser considerada uma alternativa gratuita e de to facil manuseio quaato o MatLab. Nos prximos tpicos esse artigo ir mostrar duas solues para integrar uma aplicao Java ao console do R (interpretador de comandos R).

2 - Alternativas para integrao Java e RBasicamente existem duas alternativas para comunicao entre Java e R. So elas jCaller e rJava(jri). A primeira, jCaller, bem mais simples, de fcil instalao e configurao, porm ainda existem poucos mtodos implementados nesse pacote. Mas acredito que os mtodos existentes sejam suficientes para se fazer tudo que sua criatividade precisar, porm com algumas linhas de cdigo a mais. A segunda, rJava(jri), a mais conhecida, mais usada e a nica que consta no site que da organizao de mantm o R. No entando o rJava(jri) tem uma dificuldade de configurao e instalao que pode ser considerada de mdia a elevada. Outro fato relevante na diferena entre as duas que o rJava (jri) faz chamada a bibliotecas nativas via JNI, enquanto o rCaller consegue se comunicar diretamente com o interpretador R.

3 - Instalando o REsse artigo s abordar a instalao no ambiente linux usando o eclipse IDE. Para instalar o R basta ir no gerenciador de pacotes e baixar os pacotes r-base e r-base-core. Para quem prefere o console:

>sudo apt-get install r-base r-base-core

Listagem 1 instalando o R pelo console do linux.

Para testar a instalao, s abrir o console do linux e digitar R.

>R

Listagem 2 executando o R pelo console do linux.

Apo este comando voc estar no ambiente de programao do R e algo como isto dever ser exibido.

>R version 2.11.1 (2010-05-31) Copyright (C) 2010 The R Foundation for Statistical Computing ISBN 3-900051-07-0

R um software livre e vem sem GARANTIA ALGUMA. Voc pode redistribu-lo sob certas circunstncias. Digite 'license()' ou 'licence()' para detalhes de distribuio.

R um projeto colaborativo com muitos contribuidores. Digite 'contributors()' para obter mais informaes e 'citation()' para saber como citar o R ou pacotes do R em publicaes.

Digite 'demo()' para demonstraes, 'help()' para o sistema on-line de ajuda, ou 'help.start()' para abrir o sistema de ajuda em HTML no seu navegador. Digite 'q()' para sair do R.

Listagem 3 executando o R pelo console do linux Depois destes passos s escolher uma das opes de integrao a seguir.

4 Instalando o rCaller um conjunto de Classes java usadas para receber e executar comandos em R, e uma alternativa ao rJava(mais complexo pois utiliza JNI para comunicao entre as linguagens). Para fazer o download do rCaller acesse http://www.mhsatman.com/rcaller.php e baixe o RCALLER.JAR ou o projeto para o NetBeans IDE com os arquivos-fontes. Aps isso s adicionar esse jar no build Path do seu projeto pelo eclipse. Para acessar essa opo s apertar

com o boto direito do mouse sobre o projeto e selecionar a opo Build Path Configure Build Path. Abrir uma janela. Na Aba libraries selecione Add External Jars, e selecione o arquivo RCALLER.JAR que foi baixado Aps estes passos sua aplicao Java j est pronta para executar um programa que tenha comandos R. Segue um pequeno exemplo de gerao de grfico com o R. A sada deste programa um arquivo jpeg com a imagem do grfico:public class Main { public static void main(String[] args) { RCaller caller = new RCaller(); StringBuffer code = new StringBuffer(); String a1 = "a