Как использовать функцию lm в r.net? - PullRequest
1 голос
/ 23 января 2012

Мне нужно использовать Regression (Linear) в моем приложении, для этого я использую R.Net.but, когда я использую функцию lm (), она показывает ошибку «Ошибка в приложении». но тот же код будет работать в "R", есть ли проблемы с моим кодом или мне нужно импортировать еще пакеты? ...

мой код

 private void Form1_Load(object sender, EventArgs e)
    {
        REngine.SetDllDirectory(@"C:\Program Files\R\R-2.13.1\bin\i386");            
        REngine engine = REngine.CreateInstance("RDotNet");
        engine.Evaluate("WQ<-read.csv('c:\\Documents and Settings\\hardinmvarghese\\Desktop\\reg.csv')");
        engine.EagerEvaluate("rst <- lm(V1 ~ V2+V3+V4+V5,WQ)");

    }

если кто-нибудь знает это, пожалуйста, помогите мне ...

1 Ответ

3 голосов
/ 23 января 2012

Есть ли у вас права на чтение / запись для этого каталога из .Net?Используйте блок try catch и проверьте тип исключения и сообщение.Может быть, это не то, что неправильно в коде REngine.

private void Form1_Load(object sender, EventArgs e)
{
    try
    {
        REngine.SetDllDirectory(@"C:\Program Files\R\R-2.13.1\bin\i386");            
        REngine engine = REngine.CreateInstance("RDotNet");
        engine.Evaluate("WQ<-read.csv('c:\\Documents and Settings\\hardinmvarghese\\Desktop\\reg.csv')");
        engine.EagerEvaluate("rst <- lm(V1 ~ V2+V3+V4+V5,WQ)");
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.GetType().ToString() + " " + ex.Message);
    }

}
...