2013-07-20 3 views
1

Я пытаюсь сделать простой статистический инструмент с использованием R и R.NET в среде C# .NET. У меня возникли проблемы с получением данных от Р. кодекса нижеR.NET Получение данных из R

bool initResult = REngine.SetDllDirectory(rPackagePath); 

if (!initResult) 
    throw new Exception(@"R Initialization Failed"); 

engine = REngine.CreateInstance("tsEngine"); 

if (engine == null) 
    throw new Exception(@"REngine Creation Failed"); 

engine.Evaluate("testData<-read.table('test_data.txt',sep='', header=TRUE)"); 

Я пытаюсь получить импортированные данные и показать его в GridView

DataFrame dataset = engine.EagerEvaluate("testData").AsDataFrame(); 

я ParseException в этой точке. В чем может быть проблема?

Большое спасибо.

+0

У вас есть [пример] (http://rdotnet.codeplex.com/) для работы или это ваша первая попытка R.Net? В стороне, ваш синтаксис выглядит так, как будто это для старой версии. Вы должны действительно строить из источника или устанавливать из NuGet и следовать второму примеру из приведенной выше ссылки. – GSee

+0

Я пробовал v1.5, но он дает исключение нарушения прав доступа с теми же данными :( – user168574

ответ

1

Во-первых, измените последнюю строку на:

DataFrame testData = engine.Evaluate("testData<-read.table('test_data.txt',sep='', header=TRUE)").AsDataFrame(); 

Затем добавьте следующую строку:

engine.SetSymbol("testData",testData); 

С SetSymbol вашего двигателя распознает переменную «Testdata», если вы используете его снова.