2017-05-08 79 views
0

Folks, 我有最簡單的代碼,用於測試R.NET,但在調試過程中不斷收到錯誤。我填充dictionary,然後構建一個簡單的​​。字典填充時不顯示代碼。雖然調試我做到了,這是正確的。R.NET中的錯誤 - 未找到數據框對象

C#代碼:

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代碼:

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

以下是錯誤:

錯誤as.matrix(DataFrame_R):對象 'DataFrame_R' 未找到 { 「在as.matrix(DataFrame_R)錯誤:對象 'DataFrame_R' 未找到\ n」 個}

回答

0

得到它。我在engine.setsymbol聲明中犯了一個錯誤。 應修改爲:

​​