R错误:( abline)不能强制类型'closure'类型为'double'

时间:2016-11-11 14:49:25

标签: r graphics

我的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")

2 个答案:

答案 0 :(得分:3)

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

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

我认为你的意思是T / TRUE并且认为ab / 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,宝贝......

答案 1 :(得分:0)

我通过使用as.numeric(t)

将“闭包”类型转换为数字类型来解决了类似的问题