如何在r.net中使用lm函数
本文关键字:lm 函数 net | 更新日期: 2023-09-27 18:21:03
我需要在我的应用程序中使用回归(线性),因为我正在使用R.Net。但当我使用函数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)");
}
如果有人知道这一点,请帮助我…
您对.Net中的该目录有读/写权限吗?使用try-catch块并检查Exception类型和Message。也许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);
}
}