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

Guy*_*gal 7 c# r

我在尝试阅读.csv文件时遇到问题STATCONNECTORSRVLib (R(D)COM).

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

    var sc1 = new STATCONNECTORSRVLib.StatConnector();
    sc1.Init("R");
    sc1.EvaluateNoReturn("dataset=read.csv(file.choose())");
Run Code Online (Sandbox Code Playgroud)

弹出窗口,我选择文件c:\\,加载,我可以用它来计算.

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

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

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

"The server threw an exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))"
Run Code Online (Sandbox Code Playgroud)

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

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

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

Ric*_*ton 2

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

"dataset=read.csv('C:\\\\output.csv')"
Run Code Online (Sandbox Code Playgroud)

或者

@"dataset=read.csv('C:\\output.csv')"
Run Code Online (Sandbox Code Playgroud)

或者

"dataset=read.csv('C:/output.csv')"
Run Code Online (Sandbox Code Playgroud)