【问题标题】:Use data frames with OpenCPU's JavaScript library通过 OpenCPU 的 JavaScript 库使用数据帧
【发布时间】:2015-03-15 15:01:41
【问题描述】:

多年来,我一直在尝试使用 OpenCPU 的 JS 库访问和处理数据帧,但无论我尝试什么,我似乎都无法让它工作。这是我最新的代码示例,非常简单:

var dat = [1, 2, 3];
var dat2 = ["a", "b", "c"];

var req = ocpu.call("data.frame", { x: dat, y: dat2 }, 
  function(session)  {
    session.getObject(function(data)  {
      alert(data);
    });
});

不幸的是,我得到的只是[object Object],[object Object],[object Object] 作为输出。做什么?数据框正在正确创建; session.getConsole 显示正确的控制台输出。为什么不能正常返回?我也尝试在 JSON 数据上调用 data.frameas.data.frame;同样的问题。我将不胜感激。

干杯。

【问题讨论】:

  • 代替 alert(data) 做 console.log(data)。然后开发控制台将向您显示有关您收到的对象的详细信息。
  • @Raffael,我试过了 - 不幸的是,它显示为 Array [Object, Object, Object]。我可以访问数组中的元素,因此数据仍然存在 - 但与数据框的语法不同,更重要的是,我无法将其传递给其他函数。有什么建议吗?
  • 是的...学习一些 JavaScript 和 R,然后返回阅读有关 OpenCPU 或 joyofdata.de/blog/… 的纪录片。你对你正在处理的事情缺乏了解。

标签: javascript r dataframe opencpu


【解决方案1】:

这似乎是正确的响应,因为警报需要将由三行(对象)组成的数据集强制转换为字符串。

你到底在追求什么?尝试使用 console.log 而不是 alert 来检查您的数据。如果您想以 JSON 形式提醒数据,请使用:alert(JSON.stringify(data));

【讨论】:

  • 我正在尝试获取一个数据框,我可以将其作为参数传递给另一个 ocpu.call()。该数据不能通过; R 后端不知道如何处理它。
  • 如果您将 session 对象作为参数传递给后续调用,库将自动计算出来。
猜你喜欢
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 2012-07-10
  • 2017-03-08
  • 2021-12-02
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
相关资源
最近更新 更多