我刚刚开始使用来自 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/