使用 RDotNet 的 SEE 异常 运行 R 脚本
SEHE Exception running R script with RDotNet
我遇到异常 'System.Runtime.InteropServices.SEHException' in RDotNet.dll
通过 运行 一个简单的 R 脚本:
n + minWidth
在 c# 中使用此代码:
// Load the R environment
REngine.SetEnvironmentVariables();
REngine engine = REngine.GetInstance();
// Load the input data
CharacterVector charVec = engine.CreateCharacterVector(new List<string> { csvFileName });
engine.SetSymbol("input", charVec);
engine.SetSymbol("n", engine.CreateNumeric(numberOfFanfolds));
engine.SetSymbol("minWidth", engine.CreateNumeric(minWidth));
engine.SetSymbol("minScrap", engine.CreateNumeric(minScrap));
engine.SetSymbol("cardboardStep", engine.CreateNumeric(cardboardStep));
// Run the script
results = await Task.Factory.StartNew(() => engine.Evaluate("source('" + script_file_ + "')"));
当我尝试直接 运行 代码时它可以正常工作:
var results = await Task.Factory.StartNew(() => engine.Evaluate("n + minWidth"));
这是什么意思?我能做什么?我需要以某种方式格式化 R 脚本吗?
只需要重新整理文件路径
script_file_ = scriptFile.Replace("\", "/");
我遇到异常 'System.Runtime.InteropServices.SEHException' in RDotNet.dll
通过 运行 一个简单的 R 脚本:
n + minWidth
在 c# 中使用此代码:
// Load the R environment
REngine.SetEnvironmentVariables();
REngine engine = REngine.GetInstance();
// Load the input data
CharacterVector charVec = engine.CreateCharacterVector(new List<string> { csvFileName });
engine.SetSymbol("input", charVec);
engine.SetSymbol("n", engine.CreateNumeric(numberOfFanfolds));
engine.SetSymbol("minWidth", engine.CreateNumeric(minWidth));
engine.SetSymbol("minScrap", engine.CreateNumeric(minScrap));
engine.SetSymbol("cardboardStep", engine.CreateNumeric(cardboardStep));
// Run the script
results = await Task.Factory.StartNew(() => engine.Evaluate("source('" + script_file_ + "')"));
当我尝试直接 运行 代码时它可以正常工作:
var results = await Task.Factory.StartNew(() => engine.Evaluate("n + minWidth"));
这是什么意思?我能做什么?我需要以某种方式格式化 R 脚本吗?
只需要重新整理文件路径
script_file_ = scriptFile.Replace("\", "/");