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
Download

Pedro Ribeiro de Andrade Neto Paulo Justiniano Ribeiro Júnior