【问题标题】:R Script : "Error: (list) object cannot be coerced to type double"R 脚本:“错误:(列表)对象不能被强制输入双精度”
【发布时间】:2016-11-02 10:22:23
【问题描述】:

我在 Azure MIL 中执行 R 脚本时遇到问题,错误是 即“错误:(列表)对象不能被强制输入双精度”

我的代码是

dataset1 <-maml.mapInputPort(2)
dataset3 <-maml.mapInputPort(1)
Z <- as.numeric((dataset3),stringsAsFactors=TRUE)
Y <- mdBinaryDesign(Z,4,dataset1)
Y.aggregate=mdBinaryToAggregateDesign(Y)
survey.design=mdDesignNames(Y.aggregate, dataset1)
data.set <- as.data.frame(survey.design)
maml.mapOutputPort("data.set")

为 Z 变量赋值时出现的问题。 dataset3 有简单的数字数据,即 "5" ,它充当我模型的输入。

【问题讨论】:

  • 这是不可重现的,数据的结构是未知的。错误究竟发生在哪里?
  • 模型运行时发生错误,特别是当 Z 变量被赋值时会产生错误。 [1]:i.stack.imgur.com/YwVDR.png严重]。错误:错误 0063:在评估 R 脚本期间发生以下错误: ---------- 来自 R 的错误消息开始 ---------- (列表)对象无法强制键入'double'(列表)对象不能被强制输入'double' -----------来自R的错误消息结束------------

标签: r azure-machine-learning-studio


【解决方案1】:

你不能这样做as.numeric(dataset3)。这是一个数据框,数据框可能包含多个列。假设您的数据只有一列并且您希望将其作为向量,请执行

as.numeric(dataset3[[1]])

【讨论】:

  • 嘿,我尝试了同样的方法,但我收到错误,即 ---------- 从 R 开始的错误消息 ---------- 缺少 TRUE/ 的值需要假
  • 这是您可以执行的操作。首先在本地机器上运行您的代码。当您确定它有效时,将其复制并粘贴到 AML R 框中,然后更改变量名称以适合。
  • 问题是我的代码需要输入(总共三个输入才能运行),它们在本地机器上运行得非常好,但是为了部署/最终目的,我希望我的模型具有动态输入(我是计划使用网络服务)。一旦我使用它,它就不起作用了。
  • 我是否使用“ Z
  • 另外,如果数据框有多个列,您可以使用:apply(dataset3, 2 , as.numeric)
猜你喜欢
  • 2022-06-29
  • 2020-11-30
  • 2016-09-30
  • 1970-01-01
  • 1970-01-01
  • 2016-05-24
  • 1970-01-01
  • 1970-01-01
  • 2017-08-29
相关资源
最近更新 更多