较长的物体长度不是较短物体长度的倍数

Gya*_*yan 4 ubuntu r

作为R环境的真正新手,我将阅读"R简介"一书.

在一个例子中,作者建议"

表达式中较短的向量经常根据需要(可能是分数)再循环,直到它们与最长向量的长度匹配.

紧接着,有这个例子......其中它表明一个向量将重复2.2次......

但是,当我在我的系统上复制相同的示例(ubuntu 64b,R - v2.4.11)时,我收到此错误消息

x
[1]  2  5  8  6 11
> y
[1] 23 11
> v=2*x+y+1
Warning message:
In 2 * x + y :
  longer object length is not a multiple of shorter object length
> v
[1] 28 22 40 24 46
Run Code Online (Sandbox Code Playgroud)

试图在内部搜索谷歌,stackoverflow,但无法找到任何令人满意的...我在这里错过了什么?是否有使用RI版本的东西?

Señ*_*r O 8

当向量被回收时,如果必须在完成之前将其"切断",它将显示警告消息.(如下所述,这不是一个错误消息.Error= R无法完成你想要它的功能,所以它退出.Warning= R发现了一些奇怪的事情你要求它做但仍然可以做到.*)

例如:

c(1,2) * c(1,2,3,4)
Run Code Online (Sandbox Code Playgroud)

相当于:

c(1,2,1,2) * c(1,2,3,4)
Run Code Online (Sandbox Code Playgroud)

并且不显示任何警告信息.但:

c(1,2) * c(1,2,3,4,5)
Run Code Online (Sandbox Code Playgroud)

相当于:

c(1,2,1,2,1) * c(1,2,3,4,5)
Run Code Online (Sandbox Code Playgroud)

并显示警告消息,因为强制矢量的最后一个元素不是原始矢量中的最后一个元素.它仍然会完成工作并给你一个答案.警告只是一个警告.见?warning.

*请参阅第2节本文