1
我正在使用MS Visual Studio R工具,可以在R語言中準備和測試腳本。然後我想從C#代碼開始處理(使用Process.Start(startInfo)
)來執行這個腳本,等到它完成並檢查輸出。該腳本會生成一些統計計算結果並將結果保存在.csv
文件中的硬盤驅動器上。如何從C#代碼運行R腳本?
如何找到R解釋器的路徑?代碼是否正確?
從C#代碼調用它時,是否可以將命令行參數添加到R腳本中?
ProcessStartInfo startInfo = new ProcessStartInfo();
r_interpreter_path="???";
startInfo.FileName = r_interpreter_path;
startInfo.Arguments = "\"" + r_script_name + " \"";
//Add command line arguments
startInfo.Arguments += " -sd " + date_start_str + " -ed " + date_end_str;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = true;
startInfo.CreateNoWindow = true;
startInfo.RedirectStandardError = true;
using (Process process = Process.Start(startInfo))
{
using (StreamReader reader = process.StandardOutput)
{
string result = reader.ReadToEnd();
Debug.WriteLine(result);
}
process.WaitForExit();
//string errMsg = process.StandardError.ReadToEnd();
//if (errMsg != "")
// return false;
GC.Collect();
}