2013-07-20 3 views
1

J'essaie de créer un outil statistique simple en utilisant R et R.NET dans un environnement C# .NET. Je vais avoir des problèmes pour obtenir des données de code R. est inférieure àR.NET Obtenir des données à partir de 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)"); 

J'essaie d'obtenir les données importées et le montrer dans un gridview

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

Je me ParseException à ce stade. Quel peut être le problème?

Merci beaucoup.

+0

Avez-vous obtenu [l'exemple] (http://rdotnet.codeplex.com/) pour travailler ou est-ce votre première tentative à R.Net? En aparté, votre syntaxe ressemble à une ancienne version. Vous devriez vraiment construire à partir de la source ou de l'installation depuis NuGet et suivre le second exemple du lien ci-dessus. – GSee

+0

J'ai essayé v1.5 mais il donne une exception de violation d'accès avec les mêmes données :( – user168574

Répondre

1

D'abord, changer la dernière ligne:

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

Ensuite, ajoutez la ligne suivante:

engine.SetSymbol("testData",testData); 

Avec le setSymbol votre moteur reconnaîtra la variable "TestData" si vous l'utilisez à nouveau.

Questions connexes