R:命令y的输出[1]:y [3]

时间:2015-04-19 10:08:01

标签: r

我有矢量:

 y=c(3,7,6,-1,2,4,7,5)

当我运行代码时

y[1]:y[3]

我得到了输出:

[1] 3 4 5 6

但我不明白代码y[1]:y[3]及其输出的含义是什么。

当我试图获得y向量的前三个观察时,我得到了它。我现在知道得到前三个观察结果,命令是y[1:3]

y[1]:y[3]是什么意思?结果来自哪里?

1 个答案:

答案 0 :(得分:1)

y[1]返回3

y[1]
## [1] 3

y[3]返回6。

y[3]
## [1] 6

所以y[1]:y[3]是从3到6的序列,即

3:6
## [1] 3 4 5 6

请参阅?":"

您获得不同结果的原因是因为在y[1:3]中,首先评估1:3,而在y[1]:y[3]y[1]y[3]正在评估首先评估,例如真正发生的是

`:`(y[1], y[3])
## [1] 3 4 5 6

和R从里到外评估函数,以这个简单的例子来说明

sd(mean(1:10))
## [1] NA
mean(sd(1:10))
## [1] 3.02765