澄清R中的绘图命令

时间:2014-01-30 09:25:16

标签: r plot svm

我正在按照this教程在R。

中实现支持向量机

我无法澄清情节命令

的工作原理
plot(x,col=ifelse(y>0,1,2))

x的大小为300 length(x)确认,但length(ifelse(y>0,1,2)显示为150。

如果有300个x值但只有150 y值,情节如何工作?

当我尝试

plot(x,ifelse(y>0,1,2))它显示预期的错误,即

Error in xy.coords(x, y, xlabel, ylabel, log) : 
  'x' and 'y' lengths differ

col=ifelse(y>0,1,2)是什么让它起作用?

1 个答案:

答案 0 :(得分:1)

一般来说,R知道回收,即在很多情况下R 回收向量,如果它们没有所需的长度,例如

1:4 + 1:2

向量1:2被回收,因此有效地成为c(1,2,1,2) 适合其他向量的长度。现在,我们可以对矢量求和

c(1,2,3,4)  + c(1,2,1,2)

col参数的示例中也是如此。向量col被回收,因此它符合x的长度。 如您所见,并非所有参数值都会自动回收。对于x中的yplot参数,情况并非如此。这是有道理的,因为如果这两个矢量的长度不匹配,它可能是一个错误。