void m_BackgroundWorker_PCAPlotCompleted(object sender, RunWorkerCompletedEventArgs e) { var pcaPlotDisplay = new frmPCAPlotDisplay(mPCAOptions); mProgressForm.Hide(); mProgressForm.DialogResult = DialogResult.Cancel; if (e.Error != null) { MessageBox.Show(e.Error.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (e.Cancelled) { Console.WriteLine("Cancelled"); } else { var pcaPlotResult = (clsPlotResult)e.Result; pcaPlotDisplay.Image = pcaPlotResult.mImage; pcaPlotDisplay.PlotName = pcaPlotResult.mstrPlotName; pcaPlotDisplay.DAnTEinstance = this; pcaPlotDisplay.MdiParent = m_frmDAnTE.MdiParent; pcaPlotDisplay.Title = "PCA/PLS Plot"; pcaPlotDisplay.Show(); try { mRConnector.EvaluateNoReturn("Mode <- weights$Mode"); var pcaModeList = mRConnector.GetSymbolAsStrings("Mode"); var pcaMode = pcaModeList[0]; if (pcaMode.Equals("PCA")) { mRConnector.EvaluateNoReturn("PCAweights <- weights$X"); if (mRConnector.GetTableFromRmatrix("PCAweights")) { var pcaLoadsTable = mRConnector.DataTable.Copy(); pcaLoadsTable.TableName = "PCAweights"; pcaLoadsTable.Columns[0].ColumnName = "ID"; mRConnector.EvaluateNoReturn("cat(\"PCA calculated.\n\")"); AddDataset2HashTable(pcaLoadsTable); if (mhtDatasets.ContainsKey("PCA Weights")) { AddDataNode(mhtDatasets["PCA Weights"]); } } } if (pcaMode.Equals("PLS")) { mRConnector.EvaluateNoReturn("PLSweights <- weights$X"); if (mRConnector.GetTableFromRmatrix("PLSweights")) { var plsLoadsTable = mRConnector.DataTable.Copy(); plsLoadsTable.TableName = "PLSweights"; plsLoadsTable.Columns[0].ColumnName = "ID"; mRConnector.EvaluateNoReturn("cat(\"PLS calculated.\n\")"); AddDataset2HashTable(plsLoadsTable); if (mhtDatasets.ContainsKey("PLS Weights")) { AddDataNode(mhtDatasets["PLS Weights"]); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); } } }
void m_BackgroundWorker_PCAPlotCompleted(object sender, RunWorkerCompletedEventArgs e) { DataTable mDTpcaLoads = new DataTable(); DataTable mDTplsLoads = new DataTable(); string mstrType = "PCA"; clsPlotResult mclsPlotResult; frmPCAPlotDisplay mfrmPCAPlotDisplay = new frmPCAPlotDisplay(mclsPCApar); mfrmShowProgress.Close(); mfrmShowProgress.DialogResult = DialogResult.Cancel; if (e.Error != null) { MessageBox.Show(e.Error.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (e.Cancelled) { Console.WriteLine("Canceled"); } else { mclsPlotResult = (clsPlotResult)e.Result; mfrmPCAPlotDisplay.Image = mclsPlotResult.mImage; mfrmPCAPlotDisplay.PlotName = mclsPlotResult.mstrPlotName; mfrmPCAPlotDisplay.DAnTEinstance = this; mfrmPCAPlotDisplay.MdiParent = m_frmDAnTE.MdiParent; mfrmPCAPlotDisplay.Title = "PCA/PLS Plot"; mfrmPCAPlotDisplay.Show(); try { rConnector.rdcom.EvaluateNoReturn("Mode <- weights$Mode"); object pcmode = rConnector.rdcom.GetSymbol("Mode"); mstrType = (string)pcmode; if (mstrType.Equals("PCA")) { rConnector.rdcom.EvaluateNoReturn("PCAweights <- weights$X"); if (rConnector.GetTableFromRmatrix("PCAweights")) { mDTpcaLoads = rConnector.mDataTable.Copy(); mDTpcaLoads.TableName = "PCAweights"; mDTpcaLoads.Columns[0].ColumnName = "ID"; rConnector.rdcom.EvaluateNoReturn("cat(\"PCA calculated.\n\")"); AddDataset2HashTable(mDTpcaLoads); if (mhtDatasets.Contains("PCA Weights")) { AddDataNode((clsDatasetTreeNode)mhtDatasets["PCA Weights"]); } } } if (mstrType.Equals("PLS")) { rConnector.rdcom.EvaluateNoReturn("PLSweights <- weights$X"); if (rConnector.GetTableFromRmatrix("PLSweights")) { mDTplsLoads = rConnector.mDataTable.Copy(); mDTplsLoads.TableName = "PLSweights"; mDTplsLoads.Columns[0].ColumnName = "ID"; rConnector.rdcom.EvaluateNoReturn("cat(\"PLS calculated.\n\")"); AddDataset2HashTable(mDTplsLoads); if (mhtDatasets.Contains("PLS Weights")) { AddDataNode((clsDatasetTreeNode)mhtDatasets["PLS Weights"]); } } } } catch (Exception ex) { Console.WriteLine(ex.Message); } } }