我刚刚开始使用来自 http://rdotnet.codeplex.com/rdotNet。我以前从未使用过 R 本身,但可以在其中进行简单的算术运算。我已经能够创建实例并在 c# 中进行一些简单的数值计算。我的问题是当我读入 csv 文件并创建 dataframe 时。信息全部正确加载,我可以在调试时看到它。

当我尝试浏览数据框并将内容打印到屏幕时,第一次迭代向我显示了正确的信息,但之后似乎只是获取数字而不是实际信息。

由于我可以在解决方案中进行基本计算,因此我不会编写将创建 REngine 实例的请求代码。我将展示我如何读取我在应用程序的调试文件夹中放置的文件:
我使用的下载的 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])

     }

}

我的问题是有人可以告诉我我是否做错了什么,或者是否有另一种方式通过 Dataframe 中的 RdotNet 来获取信息。

希望我已经解释了一切,如果您需要更多信息,请随时询问。

内置:
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', header = TRUE, sep = ',', stringsAsFactors = FALSE)");

关于c# - RDotNet 数据帧查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21550005/

10-10 07:24