segunda-feira, 11 de maio de 2015

Estatísticas, R e Java - JRI

Bom neste post, quero apresentar de forma simples como pedir ao R para realizar alguns cálculos e retornar o resultado para uma aplicação em Java.


Vamos ao código:

 Rengine re = new Rengine("--vanilla");
public REXP eval(String c) throws Exception{

 REXP r = rengine.eval(c);

 if(r == null){

 rengine.eval("traceback()");

 throw new Exception("Não teve retorno!!!");

 }

return r;

}
Aqui o que temos é uma função que encapsula a avaliação para o caso.

CMake, RInside, Rcpp e R

Recentemente comecei a experimentar os pacotes RInside e Rcpp para R, que permitem programar em C++ para R e também trazer o R para "dentro" de aplicações em C++. Falando em C++, gosto muito de utilizar o CMake para gerar meus makefiles, contudo com o CMakeLists.txt presente juntos aos códigos exemplo que vem junto com RInside não foi possível compilar os programas. Você pode ver este script aqui.. Eram reportados alguns erros, e, tentando contorná-los identifiquei um que parece ser o suficiente . Mesmo não sendo o intuito deste post falar sobre cmake quero compartilhar a idéia de RInside e CMake funcionam muito bem. Vamos lá: o que eu fiz foi trocar o nome da variável na linha 87 de ${RINSIDELIBS_l} para ${RINSIDELIBS} e pronto.
Bons projetos