通过 COM 将 DataTable 传递到 R

2024-01-07

我试图将数据从 SQL 传递到 C#,然后传递到 R 服务器进行数据分析,然后返回到我的 Web 应用程序;但是,我使用的 COM 接口不允许在 C# 和 R 之间传递复杂的数据类型(无数据表)。我过去使用以下代码让它工作:

    int count = dataTable.Rows.Count;
    object[] y = new object[count];
    object[] x = new object[count];

    //R does not accept DataTables, so here we extract the data from
    //the table and pass it into 2 double arrays.
    for (int i = 0; i < count; i++)
    {
        y[i] = Convert.ToDouble(dataTable.Rows[i][0]);
        x[i] = Convert.ToDouble(dataTable.Rows[i][1]);
    }
    //Instantiate R connection
    StatConnector r = new STATCONNECTORSRVLib.StatConnectorClass();
    r.Init("R");
    r.SetSymbol("y", y);  //Passes column y into R
    r.SetSymbol("x", x);  //Passes column x into R

现在我的问题出现了,因为我不再局限于双精度,任何来自 SQL 数据库的东西都是公平的游戏(int、varchar 等...),而且我不再只调用 2 列数据(它可以无论用户指定多少)。

如何将动态大小和动态数据类型的数据表转换为可以安全传递到 rcom 的数组?


In 专业 Visual Basic 6.0 业务对象作者:罗克福德·洛特卡(http://search.barnesandnoble.com/Professional-Visual-Basic-60-Business-Objects/Rockford-Lhotka/e/9781861001078 http://search.barnesandnoble.com/Professional-Visual-Basic-60-Business-Objects/Rockford-Lhotka/e/9781861001078),他提出了各种说法,跨应用程序边界的 COM 接口之间最有效的数据传输结构是字符串。我不知道这是否属实,但我接受他的资格。因此,我相信 Biff MaGriff 的建议将是解决您的问题的一个很好的简单实现方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 COM 将 DataTable 传递到 R 的相关文章

  • System.IO.IOException:由于意外>数据包格式,握手失败?

    有谁知道这意味着什么 System Net WebException 底层连接已关闭 发送时发生意外错误 gt System IO IOException 由于意外 握手失败 数据包格式 在 System Net Security SslS
  • SSL/TLS/HTTPS 站点在 C#/.NET WebBrowser 控件中非常慢,但在 Internet Explorer 中则很好

    背景 我正在修改自动维基浏览器 http en wikipedia org wiki Wikipedia AutoWikiBrowser使用托管在安全服务器上的 MediaWiki 站点 我允许用户通过 C 应用程序中的 WebBrowse
  • C++中delete和delete[]的区别[重复]

    这个问题在这里已经有答案了 可能的重复 C 中的删除与删除 运算符 https stackoverflow com questions 2425728 delete vs delete operators in c 我写了一个包含两个指针的
  • 在 C# Winforms 应用程序中嵌入 Windows XP 主题

    我有一个旧版 C Windows 窗体应用程序 其布局是根据 Windows XP 默认主题设计的 由于需要将其作为 Citrix 应用程序进行分发 该应用程序现在看起来像经典主题应用程序 因为 Citrix 不鼓励使用主题系统服务 所以
  • SFINAE 如何使用省略号?

    过去 当使用 SFINAE 选择构造函数重载时 我通常使用以下内容 template
  • 在 R Shiny 中,如何使用可排序 js 将其在列表中出现的顺序次数附加到每个列表元素?

    下面的可重现代码适用于将元素从一个面板拖动到另一个面板 并在 拖动到 面板中自动使用 HTML CSS 对拖入的每个元素进行排名顺序编号 但是 我现在尝试附加到每个 拖动到 列表元素的末尾 使用某种形式的paste0 我假设 该元素在 拖至
  • 劫持系统调用

    我正在编写一个内核模块 我需要劫持 包装一些系统调用 我正在暴力破解 sys call table 地址 并使用 cr0 来禁用 启用页面保护 到目前为止一切顺利 一旦完成 我将公开整个代码 因此如果有人愿意 我可以更新这个问题 无论如何
  • 对 boost 库的依赖项没有完整路径

    我已经成功构建了动态库 依赖于使用自定义前缀构建和安装的 boost 库 b2 install prefix PREFIX 然而 当我跑步时otool L在我的库中 我得到如下输出 libboost regex dylib compatib
  • 无法解析远程名称 - webclient

    我面临这个错误 The remote name could not be resolved russgates85 001 site1 smarterasp net 当我请求使用 Web 客户端读取 html 内容时 出现错误 下面是我的代
  • 如何在 C++ 中将 CString 转换为 double?

    我如何转换CString to a double在 C 中 Unicode 支持也很好 Thanks A CString可以转换为LPCTSTR 这基本上是一个const char const wchar t 在 Unicode 版本中 知
  • 从 Code::Blocks 运行程序时出现空白控制台窗口 [重复]

    这个问题在这里已经有答案了 当我尝试在 Code Blocks 中构建并运行新程序时 控制台窗口弹出空白 我必须单击退出按钮才能停止它 它对我尝试过的任何新项目 包括 Hello world 都执行此操作 奇怪的是 它对于我拥有的任何旧项目
  • R lubridate:当地语言的工作日

    如何获取本地语言的工作日和月份 My code library lubridate data lt c 10 02 2015 11 03 2015 data lubri lt dmy data wday data lubri label T
  • 二叉树中的 BFS

    我正在尝试编写二叉树中广度优先搜索的代码 我已将所有数据存储在队列中 但我不知道如何访问所有节点并消耗它们的所有子节点 这是我的 C 代码 void breadthFirstSearch btree bt queue q if bt NUL
  • .NET 客户端中 Google 表格中的条件格式请求

    我知道如何在 Google Sheets API 中对值和其他格式进行批量电子表格更新请求 但条件格式似乎有所不同 我已正确设置请求 AddConditionalFormatRuleRequest formatRequest new Add
  • 为什么要在 C++ 中使用 typedef?

    可以说我有 set
  • 0-1背包算法

    以下 0 1 背包问题是否可解 浮动 正值和 浮动 权重 可以是正数或负数 背包的 浮动 容量 gt 0 我平均有 这是一个相对简单的二进制程序 我建议用蛮力进行修剪 如果任何时候你超过了允许的重量 你不需要尝试其他物品的组合 你可以丢弃整
  • 从 Delphi 调用 C# dll

    我用单一方法编写了 Net 3 5 dll 由Delphi exe调用 不幸的是它不起作用 步骤 1 使用以下代码创建 C 3 5 dll public class MyDllClass public static int MyDllMet
  • 在 C++17 中使用 成员的链接错误

    我在 Ubuntu 16 04 上使用 gcc 7 2 并且需要使用 C 17 中的新文件系统库 尽管确实有一个名为experimental filesystem的库 但我无法使用它的任何成员 例如 当我尝试编译此文件时 include
  • 受限 AppDomain 中的代码访问安全异常

    Goal 我需要在权限非常有限的 AppDomain 中运行一些代码 它不应该访问任何花哨或不安全的内容 except对于我在其他地方定义的一些辅助方法 我做了什么 我正在创建一个具有所需基本权限的沙箱 AppDomain 并创建一个运行代
  • 将天气 iframe 嵌入到 Shiny Dashboard 中

    我正在尝试将 Forecast io 的天气预报嵌入到闪亮的仪表板中 我最初在使用 符号时遇到了麻烦 但看到一篇文章提供了如何使用特殊字符格式化 HTML 代码的示例 但是 当我运行该应用程序时 我看到一个简单的 未找到 即使我知道该链接有

随机推荐

  • 在平衡字符内搜索特定文本(递归

    给定以下 经过净化的 输入 Return t func Type
  • 有没有办法在 Windows 中停止 time.sleep ?

    在 nix 中 python 信号允许我在睡眠准备好之前停止睡眠 Windows 中是否有类似的机制可用 似乎所有方法都只有在睡眠后才拦截代码 代码示例 from time import sleep do something that wi
  • 如何查找图像中矩形的角坐标

    我对原始图像进行预处理后得到了这张图像 现在 我的问题是如何获得矩形 最大 的四个角的坐标 抱歉 如果这是一个很菜鸟的问题 更新 由于我正在使用 OpenCV 进行开发 最终使用这个答案 https stackoverflow com a
  • ASP.NET MVC - 为什么我的视图不能从 System.Web.Mvc.ViewPage(of T) 正确继承

    应该可以在这里使用泛型并传递模型的类类型 然而 Visual Studio 2008 不接受这一点 我收到以下验证错误 在 VS 中加下划线 Context is not a member of ASP views home index a
  • Django 本身支持通用表表达式吗?

    为了澄清我的问题 我想知道是否可以在访问 CTE 功能时惯用地使用 Django ORM 我想我可以通过编写原始 SQL 语句来使用 CTE 但使用 ORM 语法糖 绕过手动编码 SQL 语句的能力是 Django 的最初吸引力之一 Dja
  • 反应原生 HTML 实体

    我正在从 WordPress 网站成功获取应用程序中的一些数据 一些实体 例如 本机反应不想进行类似的引号以及我遇到的更多问题 有没有办法在 React Native App 中制作 HTML 实体 提前致谢 你应该能够使用类似的东西htm
  • EmberJS 操作 - 当包装在“actions”中时从另一个操作调用一个操作

    当包裹在一个动作中时 如何从另一个动作中调用一个动作actions在 EmberJS 控制器中 使用现已弃用的方式定义操作的原始代码 app js App IndexController Ember ArrayController exte
  • PayPal API 定期付款

    我需要向我的网站添加定期付款 注册前 用户必须支付例如 1 个月 10 英镑的费用 此后每月支付 9 英镑 我尝试根据 PayPal 1 创建定期付款 但在 IPN 中 我没有收到 subscr signup 或其他响应 当我完成 doEx
  • Flash Builder 4 现在使用 AIR 2 吗?

    我刚刚获得了 CS5 主套件 其中包括 Flash Builder 4 和 Flash CS5 Pro 当我在 CS5 pro 中创建新的 AIR 应用程序时 它显示 AIR 2 但是当我在 Flash Builder 中创建新的 AIR
  • 字符串索引超出范围:n

    我每次执行这段代码时都会遇到一些问题 它会给我一个错误 字符串索引超出范围 n n 是编号 在与此代码相关的文本框中输入的字符数 即文本框 t2 它卡在第一个文本框 检查它是否不会转到数组中提到的下一个文本框 Object c1 t2 ge
  • Jquery 抛出 IE 特定错误

    看小提琴 http jsfiddle net JWSaZ http jsfiddle net JWSaZ 这在 Chrome FF 中工作正常 但在 Internet Explorer 中它会在 Jquery 文件中给出错误 Webpage
  • 使用 SymmetricDifference 比较两个文件夹中的不同文件

    var dir1Files dir1 GetFiles SearchOption AllDirectories var dir2Files dir2 GetFiles SearchOption AllDirectories var diff
  • 我可以用mpAndroidChart绘制渐变折线图吗?

    我可以画一个如图所示的折线图吗 如果可以的话 我应该怎么做才能改变线条颜色 谢谢你 我画的看起来像图二 线条颜色相同 并且没有昨天的incom 我应该怎么做才能将线条更改为渐变颜色并只显示最后一个markerView 我画的图 https
  • Android中的Pdf渲染器转换的​​图像是透明背景

    我是android开发的新手 我正在努力将 Pdf 转换为图像并将其存储在某个位置 我使用 PdfRenderer API 级别 21 将 PDF 转换为位图图像 转换后的图像是透明背景 请指导我将图像转换为白色背景 这样我就可以将其转换为
  • Swift - 发送 POST 请求时从 NSURLSession 返回数据

    我可以使用下面的代码在 Swift 中发送 POST 请求 func post gt String let request NSMutableURLRequest URL NSURL string http myserverip myfil
  • 使用 python 对点进行排序以获得连续曲线

    我有一个未排序点的列表 列表 50 6261 74 3683 63 2489 75 0038 76 0384 75 6219 79 8451 75 7855 30 9626 168 085 27 381 170 967 22 9191 17
  • PyCharm 中 Python 控制台和终端的区别

    我是 Python 初学者 我最近开始使用 PyCharm 但我不知道终端和控制台有什么区别 终端中的某些命令在控制台中不起作用 在讨论差异之前 我们需要先谈谈两者在实践中的区别 终端本质上取代了 Windows 上的命令提示符 电源外壳和
  • MinGW 错误:“线程”不是“std”的成员

    我正在尝试为 Windows 交叉编译一个简单的应用程序 include
  • 为什么gmtime要这样实现呢?

    我偶然发现了 Minix 的 gmtime 函数的源代码 我对从纪元以来的天数计算年份数的位感兴趣 以下是该部分的内容 http www raspberryginger com jbailey minix html gmtime 8c so
  • 通过 COM 将 DataTable 传递到 R

    我试图将数据从 SQL 传递到 C 然后传递到 R 服务器进行数据分析 然后返回到我的 Web 应用程序 但是 我使用的 COM 接口不允许在 C 和 R 之间传递复杂的数据类型 无数据表 我过去使用以下代码让它工作 int count d