//Method to create DataFrame public void createDF() { PISetup ps = new PISetup(); Dictionary <DateTime, Object> dict = ps.getArchiveValues(); Double[] db = new double[dict.Count]; String[] dt = new String[dict.Count]; int i = 0; foreach (object ob in dict.Values) { db[i] = Convert.ToDouble(ob); i += 1; } int j = 0; foreach (DateTime da in dict.Keys) { dt[j] = Convert.ToString(da); j += 1; } NumericVector myNum = engine.CreateNumericVector(db); CharacterVector myCha = engine.CreateCharacterVector(dt); engine.SetSymbol("Time", myCha); engine.SetSymbol("BA.TEMP.1", myNum); engine.Evaluate("df <- data.frame(Timestamp=c(Time), BA.TEMP.1=c(BA.TEMP.1))"); //engine.Evaluate("write.csv(df, file = \"C:/File_1.csv\")"); //engine.Evaluate("View(df)"); }
//Method to create DataFrame public void createDF_new() { PISetup ps = new PISetup(); Object[,] obj = ps.getArchiveValues_new(); String[] date = new String[obj.GetLength(1)]; String[] phase = new String[obj.GetLength(1)]; String[] status = new String[obj.GetLength(1)]; Double[] temp = new double[obj.GetLength(1)]; Double[] conc = new double[obj.GetLength(1)]; Double[] level = new double[obj.GetLength(1)]; for (int i = 0; i < obj.GetLength(1); i++) { date[i] = Convert.ToString(obj[0, i]); } for (int i = 0; i < obj.GetLength(1); i++) { phase[i] = Convert.ToString(obj[4, i]); } for (int i = 0; i < obj.GetLength(1); i++) { status[i] = Convert.ToString(obj[5, i]); } for (int i = 0; i < obj.GetLength(1); i++) { temp[i] = Convert.ToDouble(obj[1, i]); } for (int i = 0; i < obj.GetLength(1); i++) { conc[i] = Convert.ToDouble(obj[2, i]); } for (int i = 0; i < obj.GetLength(1); i++) { level[i] = Convert.ToDouble(obj[3, i]); } NumericVector temp_vec = engine.CreateNumericVector(temp); NumericVector conc_vec = engine.CreateNumericVector(conc); NumericVector level_vec = engine.CreateNumericVector(level); CharacterVector date_vec = engine.CreateCharacterVector(date); CharacterVector phase_vec = engine.CreateCharacterVector(phase); CharacterVector status_vec = engine.CreateCharacterVector(status); engine.SetSymbol("Time", date_vec); engine.SetSymbol("BA.TEMP.1", temp_vec); engine.SetSymbol("BA.CONC.1", conc_vec); engine.SetSymbol("BA.LEVEL.1", level_vec); engine.SetSymbol("BA.PHASE.1", phase_vec); engine.SetSymbol("BA.ACTIVE.1", status_vec); write_to_csv("name.csv"); engine.Evaluate("df <- data.frame(Timestamp=c(Time), BA.TEMP.1=c(BA.TEMP.1), BA.CONC.1=c(BA.CONC.1), BA.LEVEL.1=c(BA.LEVEL.1), BA.PHASE.1=c(BA.PHASE.1), BA.ACTIVE.1=c(BA.ACTIVE.1))"); //engine.Evaluate("View(df)"); }