【问题标题】:RDotNet Dataframe QueryRDotNet 数据帧查询
【发布时间】:2014-02-04 10:35:51
【问题描述】:

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

     }

}

我的问题是,如果我做错了什么,或者有其他方法可以通过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  

【问题讨论】:

    标签: c# r visual-studio-2013 r.net


    【解决方案1】:

    尝试将stringsAsFactors 设置为 FALSE。

    engine.Evaluate("dataset1 <- read.csv(file = 'listeria.csv', header = TRUE, sep = ',', stringsAsFactors = FALSE)");
    

    【讨论】:

    • 非常感谢。它非常适合我。我现在可以在打印到屏幕时完全看到信息。非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 2021-12-27
    相关资源
    最近更新 更多