2017-05-08 8 views
0

Leute, Ich habe den einfachsten Code, den ich zum Testen von R.NET gebaut habe, aber beim Debuggen immer einen Fehler bekommen. Ich bevölkere einen dictionary und baue dann einen einfachen R data frame. Der Code wird nicht angezeigt, wenn das Wörterbuch ausgefüllt ist. Beim Debugging habe ich das gemacht und es ist korrekt.Fehler in R.NET - Datenrahmen Objekt nicht gefunden

C# -Code:

Dictionary<string, List<double>> LiqProductionData = new Dictionary<string, List<double>>(); 
Engine.SetEnvironmentVariables(); 
      REngine engine = REngine.GetInstance(); 
      var DataFrame_Columns = new List<IEnumerable>(LiqProductionData.Values); //column data 
      var DataFrame_Colnames = new List<string>(LiqProductionData.Keys);   // column header 
      var DataFrame_R = engine.CreateDataFrame(DataFrame_Columns.ToArray(), DataFrame_Colnames.ToArray()); 
      engine.SetSymbol("ProdData", DataFrame_R);   
      engine.Evaluate("source('D:/OFM_R/OFM_R_Example.R')"); // Run the "R" script 
      var X = engine.GetSymbol("newProdData").AsNumericMatrix(); 

RScript Code:

setwd("D:/OFM_R") 
ProdData <- as.matrix(DataFrame_R) #converting the DATA Frame from OFM into R Matrix ProdData 
newProdData <- ProdData*100 

ist hier der Fehler:

Fehler in as.matrix (DataFrame_R): Objekt 'DataFrame_R' nicht { "Fehler in as.matrix (DataFrame_R): Objekt 'DataFrame_R' nicht gefunden \ n"} gefunden

Antwort

0

Verstanden. Ich habe einen Fehler in der engine.setsymbol Aussage gemacht. Es sollte wie folgt geändert werden:

engine.SetSymbol("DataFrame_R", DataFrame_R); 
Verwandte Themen