0

R.Net を使用して R を C# プログラムに統合しました。私はこのコードを持っています:

private void drawChart(REngine engine)
    {
        StringBuilder plotCommmand = new StringBuilder();
        plotCommmand.Append("sigmod = read.table(file=\"inproceedings.csv\", header=TRUE, sep=\"~\", quote=\"\", comment=\"\");");            
        Console.WriteLine(plotCommmand.ToString());
        engine.EagerEvaluate(plotCommmand.ToString());            
    }

プログラムを実行すると、「アプリケーションでエラーが発生しました」という例外が発生しました。この行で:

engine.EagerEvaluate(plotCommmand.ToString());

私のコードの間違いを教えてください。

4

2 に答える 2

0

このコードを置き換えることで問題を解決しました:

plotCommmand.Append("sigmod = read.table(file=\"inproceedings.csv\", header=TRUE, sep=\"~\", quote=\"\", comment=\"\");");

に:

plotCommmand.Append(@"sigmod <- read.table(file='C:\\Users\\admin\\Documents\\R\\inproceedings.csv', header=TRUE, sep='~', quote='', comment.char='');");
于 2013-09-10T08:43:16.193 に答える
0

廃止されたメソッドである EagerEvaluate を使用しており、古いバージョンの R.NET を使用していることを示唆しています。次のコードは、最新のコードベースを使用して問題なく動作します。また、NuGet またはhttps://rdotnet.codeplex.com/releasesで入手できる最新のリリースでも同様に動作することを期待しています。

StringBuilder plotCommmand = new StringBuilder();
plotCommmand.Append("sigmod = read.table(file='c:/tmp/test.csv', header=TRUE, sep='~', quote='', comment='')");
Console.WriteLine(plotCommmand.ToString());
engine.Evaluate(plotCommmand.ToString());
engine.Evaluate("str(sigmod)");
于 2013-09-10T00:31:36.603 に答える