我刚刚开始使用rdotNet:
http://rdotnet.codeplex.com/.我之前从未使用过R本身,但可以在其中进行简单的算术运算.我已经能够创建实例并在c#中进行一些简单的数值计算.我的问题是当我在csv文件中读取并创建数据帧时.信息全部正确加载,我可以在调试时看到它.
当我尝试通过数据框并将内容打印到屏幕时,第一次迭代向我显示正确的信息,但之后似乎只是获取数字而不是实际信息.
由于我可以在解决方案中进行基本计算,因此我不会编写将创建REngine实例的乞讨代码.我将展示如何读取我在应用程序的debug文件夹中放置的文件:
我使用的下载的csv文件的位置:http://www.rqtl.org/sampledata/listeria.csv
engine.Evaluate("library(datasets)"); engine.Evaluate("dataset1 <- read.csv(file = \" listeria.csv\",header = TRUE,sep = ',')"); DataFrame dataset1 = engine.GetSymbol("dataset1").AsDataFrame();
//这是问题所在
for (int row = 0,row < dataset1.RowCount; row++) { for ( int col = 0; col < dataset1.ColumnCount; k++) { Console.Writeline(dataset1[row,col]) } }
我的问题是,有人可以告诉我,如果我做错了什么,或者是否有其他方式通过RdotNet中的Dataframe获取信息.
希望我已经解释了一切,如果您需要更多信息,请随时提出.
内置:
Visual Studio 2013,using a console Application,framework 4.5.1,RdotNet DLL: Vers 1.5.5 and in Win 7 64 Bit
解决方法
尝试将stringsAsFactors设置为FALSE.
engine.Evaluate("dataset1 <- read.csv(file = 'listeria.csv',',stringsAsFactors = FALSE)");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。