myR Pedro Ribeiro de Andrade Neto Paulo Justiniano Ribeiro Júnior Esquema ● ● ● ● ● Introdução Como usar o R a partir de um programa? Biblioteca implementada Exemplos Integrando com o Terraview Introdução R é o programa estatístico e de código aberto mais utilizado atualmente. ●Em toda linguagem de programação existem várias bibliotecas que implementam diversas funções. Mas, em nenhuma delas, existe a quantidade de funções estatísticas dispiníveis no R. ●Como acessar o R do meu programa? ● Acessando o R Chamando por batch ● Conectando com um Rserve ● Ligando com a biblioteca do R ● Acessando o R - Batch Escrevemos os comandos do R em um arquivo, e o invocamos através de uma chamada de sistema, passando o arquivo como argumento, e redirecionando a saída para outro arquivo. ● Toda vez que o R tiver que ser chamado na aplicação ele tem que ser carregado, o que consome tempo. ● Os valores das variáveis a serem utilizadas no R têm que estar escritos em um arquivo, para ser então carregados pelo R. ● Acessando o R - Rserve Servidor que provê uma interface para acessar o R remotamente, através de um cliente. Ele fica aguardando requisições de conexão, e requisições de comandos e declaração de variáveis, dos já conectados. ● O servidor Rserve necessita da biblioteca do R. ● Existe um programa cliente em Java, e um protótipo de cliente em C. ● O cliente pode ser escrito em qualquer linguagem que ela tenha funções cliente/servidor. ● Problema: declaração e transporte das variáveis. ● Acessando o R - libR.so Esta é uma solução que requer mais trabalho. O código da biblioteca tem que ser estudado, para então descobrir os pontos de acesso ao R. ● O R é carregado apenas uma vez durante toda a execução do programa. ● O programa tem acesso direto às variáveis do R, e pode fazer com que o R também tenha acesso direto as suas variáveis, desde que sejam no formato do R. ● Necessita da biblioteca do R. ● myR ● Visto que a única desvantagem de acesso ao R lincando com o libR é a implementação da interface de acesso, desenvolvemos uma biblioteca que implementa esta camada, em C++, e tem como nome myR. Funções Implementadas Construtor myR R(“--quiet –vanilla”); ● Executando uma operação error = R.execute(“x<-1:20”, exp); ● Declarando uma Variável R.declareVar(“x”, var); ● Removendo uma Variável R.remove(“x”); ● Exemplos Declarar uma variavel no R e calcular sua media, ● Utilizar a biblioteca splancs para calcular um kernel, ● Utilizar o terralib para ler dados de uma base e entao calcular a sua media, ● Integrar o myR ao TerraView (kernel). ● Integracao com o TerraView Colocar 2 botoes no TerraView: ● Enviar comandos para o R ● Chamar o kernel2d do splancs: Pontos Poligono envolvente Raio Altura/largura em pontos Integracao com o TerraView Integracao com o TerraView Conclusões ● O myR se mostrou estável e robusto como uma interface TerraLib/R. myR Pedro Ribeiro de Andrade Neto Paulo Justiniano Ribeiro Júnior