回收

什么是 R 中的回收

回收是指某个对象在某些操作中自动扩展以匹配另一个较长对象的长度。

例如,矢量化添加导致以下结果:

c(1,2,3) + c(1,2,3,4,5,6)  
[1] 2 4 6 5 7 9

由于回收,实际发生的操作是:

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

如果较长的对象不是较短的对象的倍数,则会显示一条警告消息:

c(1,2,3) + c(1,2,3,4,5,6,7)
[1] 2 4 6 5 7 9 8
Warning message:
In c(1, 2, 3) + c(1, 2, 3, 4, 5, 6, 7) :
  longer object length is not a multiple of shorter object length

回收的另一个例子:

matrix(nrow =5, ncol = 2, 1:5 )
     [,1] [,2]
[1,]    1    1
[2,]    2    2
[3,]    3    3
[4,]    4    4
[5,]    5    5