R错误:(abline)无法强制类型';关闭';到类型为'的向量;双倍';

R错误:(abline)无法强制类型';关闭';到类型为'的向量;双倍';,r,graphics,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")

我的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
),而不是一个数字作为横坐标的x坐标,正如@nrussell所说:

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

无论如何,在这种情况下,您希望将其设置为x=0:

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

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

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

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

无论如何,在这种情况下,您希望将其设置为x=0:

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

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

我解决了一个类似的问题,将“闭包”类型转换为数字类型,使用:
as.numeric(t)
我解决了一个类似的问题,将“闭包”类型转换为数字类型,使用:
as.numeric(t)
t
是一个函数(转置)。
t
是一个函数(转置)。