无法使用R(D)COM自动读取csv

时间:2011-08-23 11:13:34

标签: c# r

尝试使用STATCONNECTORSRVLib (R(D)COM)读取.csv文件时遇到问题。

当我输入此代码行时,它可以工作:

    var sc1 = new STATCONNECTORSRVLib.StatConnector();
    sc1.Init("R");
    sc1.EvaluateNoReturn("dataset=read.csv(file.choose())");

弹出窗口,我从c:\\选择文件,加载,我可以用它进行计算。

然而,当我输入这个几乎完全相同的代码时:

    var sc1 = new STATCONNECTORSRVLib.StatConnector();
    sc1.Init("R");
    sc1.EvaluateNoReturn("dataset=read.csv('C:\\output.csv')");

我得到了这个恼人的例外:

"The server threw an exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))"

dataset=read.csv('C:\\output.csv')在R控制台中正常工作。

我做错了什么,当我上传时,我的机器如何读取文件,而不是自动上传?

我正在使用来自RandFriend pack的R 2.13.1,并且包含了所有内容。 OS Windows 7,64位
我在解决方案中的所有项目都是.NET 4,x86

1 个答案:

答案 0 :(得分:2)

未经测试,但我认为C#正在将您的双反斜杠转换为单个反斜杠,然后R将其解释为转义序列。尝试将字符串更改为

"dataset=read.csv('C:\\\\output.csv')"

@"dataset=read.csv('C:\\output.csv')"

"dataset=read.csv('C:/output.csv')"