尝试使用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
答案 0 :(得分:2)
未经测试,但我认为C#正在将您的双反斜杠转换为单个反斜杠,然后R将其解释为转义序列。尝试将字符串更改为
"dataset=read.csv('C:\\\\output.csv')"
或
@"dataset=read.csv('C:\\output.csv')"
或
"dataset=read.csv('C:/output.csv')"