sistema estatístico R
29/02/2008
0
Alguém sabe se é possível integrar um sistema .net com a dll do sistema estatístico R.
Ele possui várias funções estatisticas onde gostaria de fazer uso.
Alguem já fez algo parecido.
Grato
Ele possui várias funções estatisticas onde gostaria de fazer uso.
Alguem já fez algo parecido.
Grato
Mrduarte
Curtir tópico
+ 0
Responder
Posts
05/03/2008
Mrduarte
Bom caso alguem precise acessar o sistema R pelo C# vou deixar aqui registrado a solução que encontrei.
No site oficial http://www.r-project.org/ baixe ´D COM Server´ e instale-o.
Com isso já é possível em sua aplicação você anexar as bibliotecas em seu projeto.
Feito isso seu sistema já está pronto para acessar o R.
Segue abaixo o primeiro arquivo teste q fiz.
public class testeR
{
private string rcmd;
private STATCONNECTORSRVLib.StatConnectorClass rdcom = null;
public testeR()
{
}
public bool initR()
{
try
{
rdcom = new STATCONNECTORSRVLib.StatConnectorClass();
rdcom.Init(´R´);
rdcom.EvaluateNoReturn(´x=5´);
rdcom.EvaluateNoReturn(´y=10´);
rdcom.EvaluateNoReturn(´plot(x,y)´);
//Object i = rdcom.Evaluate(´plot(x,y)´);
//MessageBox.Show(i.ToString());
return true;
}
catch (Exception e)
{
string errmsg = ´R Init failed: ´ + rdcom.GetErrorText() + ´ Other: ´ +
e.Message.ToString();
//LogError(errmsg);
return false;
}
}
}
No site oficial http://www.r-project.org/ baixe ´D COM Server´ e instale-o.
Com isso já é possível em sua aplicação você anexar as bibliotecas em seu projeto.
Feito isso seu sistema já está pronto para acessar o R.
Segue abaixo o primeiro arquivo teste q fiz.
public class testeR
{
private string rcmd;
private STATCONNECTORSRVLib.StatConnectorClass rdcom = null;
public testeR()
{
}
public bool initR()
{
try
{
rdcom = new STATCONNECTORSRVLib.StatConnectorClass();
rdcom.Init(´R´);
rdcom.EvaluateNoReturn(´x=5´);
rdcom.EvaluateNoReturn(´y=10´);
rdcom.EvaluateNoReturn(´plot(x,y)´);
//Object i = rdcom.Evaluate(´plot(x,y)´);
//MessageBox.Show(i.ToString());
return true;
}
catch (Exception e)
{
string errmsg = ´R Init failed: ´ + rdcom.GetErrorText() + ´ Other: ´ +
e.Message.ToString();
//LogError(errmsg);
return false;
}
}
}
Responder
Clique aqui para fazer login e interagir na Comunidade :)