【问题标题】:R error: (abline) cannot coerce type 'closure' to vector of type 'double'R错误:(abline)无法将类型“闭包”强制为“双”类型的向量
【发布时间】:2018-07-12 21:48:16
【问题描述】:

我的 R 程序中出现错误提示:

Error in int_abline(a = a, b = b, h = h, v = v, untf = untf, ...) : 
cannot coerce type 'closure' to vector of type 'double'

这是我的代码,我不知道它来自哪里:

n=900000
plot(density(rt(n,n-1)),xlim=c(-10,5),main="",xlab="")
abline(v=t,col="red")

【问题讨论】:

  • t 是一个函数(transpose)。

标签: r graphics


【解决方案1】:

错误是指您不小心传递了一个函数名称 (t) 而不是一个数字作为横坐标的 x 坐标,正如 @nrussell 所说:

abline(v=t,col="red")

我认为你的意思是 T/TRUE 并假设 abline 的 v/h 参数是布尔值,但它们不是,它需要数字坐标(如果它只是一个布尔值,它怎么知道在哪里放横坐标?):

abline(a = NULL, b = NULL, h = NULL, v = NULL, reg = NULL,
       coef = NULL, untf = FALSE, ...)

Arguments:

a, b: the intercept and slope, single values.

   h: the y-value(s) for horizontal line(s).

   v: the x-value(s) for vertical line(s).
....

无论如何,在这种情况下你想把它放在 x=0:

abline(v=0, col='red')

别忘了,R 区分大小写,所以t 不是T/TRUE。这不是 Lisp,宝贝……

【讨论】:

    【解决方案2】:

    我通过将“闭包”类型转换为数字类型解决了类似的问题:as.numeric(t)

    【讨论】:

      猜你喜欢
      • 2015-08-19
      • 2013-12-24
      • 1970-01-01
      • 1970-01-01
      • 2015-04-26
      • 1970-01-01
      • 2018-01-30
      • 1970-01-01
      • 2015-04-29
      相关资源
      最近更新 更多