R回收过程

时间:2016-01-28 10:23:11

标签: r

请参阅下面的代码:

x <- c(23,43,54,75,76,6,87,5,43,234,2)
y <- c(1,2,23,43,54,75,76,6,87,1)
z <- x + y

该片段向我发出警告信息。当我尝试将x和y添加为:

#Warning message:
#In x + y : longer object length is not a multiple of shorter object length

但是当我添加:

x <- c(3,4,5,8)
y <- c(1,3)
z <- x + y
z

没有抛出任何错误消息,R完全回收它。为什么呢?

1 个答案:

答案 0 :(得分:1)

首先,重要的是要注意这是警告,而不是错误。因此,在任何一种情况下,都不会抛出错误并添加向量。

关于第二个示例中没有警告,警告消息非常清楚地说明了原因:

  

对象长度不是较短对象长度的倍数

在您的第二个示例中,x的长度是y长度的两倍,因此 是一个倍数(与您的第一个示例相反,后者产生了警告)。因此,当向量y被回收时,第二个示例中没有给出警告。