【问题标题】:MonetDB embedded R code debuggingMonetDB 嵌入式 R 代码调试
【发布时间】:2016-05-18 14:14:41
【问题描述】:

在我努力解决此处提到的问题时: MonetDB connect to GO.db within R code that is run in-database

我继续从 WGCNA 复制我需要的代码到我自己的包中并安装它。显然,我现在可以毫无问题地加载包(因为我不需要 GO.db 部分)。

但是,我似乎遇到了另一个问题:

服务器说'!运行 R 表达式时出错。错误信息:错误 .C("corFast", x = as.double(x), nrow = as.integer(nrow(x)), ncolx = as.integer(ncol(x)), : '.

我确实想使用 WGCNA 提供的更快的 cor 函数,但显然 C 调用现在产生了另一个问题。 不幸的是,该消息没有提供信息。我已经尝试以交互方式运行查询并将调试添加到语句中。这没有为我提供更多信息。

我可以做些什么来增加详细程度,以便我可以调试过程?

我也试过了:

options(monetdb.debug.query=F)

这导致在查询之前有一些额外的输出,但发生的错误没有额外的输出。

使用 Hannes Muehleisen 的建议,我补充说:

options(monetdb.debug.mapi=T)

它确实添加了更多信息,这让我可以更进一步。我现在遇到以下错误,似乎又被截断了。

QQ: 'SELECT * FROM cor_test();' TX: 'sSELECT * FROM cor_test(); ;接收: '! 运行 R 表达式时出错。错误消息:.C 中的错误(“corFast”,x = as.double(x), nrow = as.integer(nrow(x)), ncolx = as.integer(ncol(x)), : ! "corFast" 不适用于 .C() 包“.local(conn,语句,...)中的 MRMRF 错误:无法 执行语句'SELECT * FROM cor_test();'。服务器说'!错误 运行 R 表达式。错误信息:.C("corFast", x = as.double(x), nrow = as.integer(nrow(x)), ncolx = as.integer(ncol(x)), :'。

【问题讨论】:

  • 明天会到这里,抱歉耽搁了
  • @HannesMühleisen 我想我知道是什么让你昨天很忙。 :)

标签: r monetdb


【解决方案1】:

是的,这是一个已知问题,仅返回错误消息的第一行。我们应该解决这个问题。我总是使用 stop(whatever) 从 UDF 中返回一些信息。

【讨论】:

  • 我可以对源代码进行快速而肮脏的修复吗? (我之前已经从源代码编译过:))
  • 实际尝试设置options(monetdb.debug.mapi=T),看看是否看到更多输出。
  • 这确实为我提供了更多信息!谢谢。
猜你喜欢
  • 2013-09-11
  • 2022-04-07
  • 1970-01-01
  • 2020-04-12
  • 2010-12-07
  • 1970-01-01
  • 2020-08-24
  • 2010-10-21
  • 2019-04-10
相关资源
最近更新 更多