矢量索引

对于此示例,我们将使用向量:

> x <- 11:20
> x
 [1] 11 12 13 14 15 16 17 18 19 20

R 向量是 1 索引的,因此例如 x[1] 将返回 11。我们还可以通过将索引向量传递给括号运算符来提取 x 的子向量:

> x[c(2,4,6)]
[1] 12 14 16

如果我们传递一个负索引向量,R 将返回一个排除了指定索引的子向量:

> x[c(-1,-3)]
[1] 12 14 15 16 17 18 19 20

我们还可以将一个布尔向量传递给括号运算符,在这种情况下,它返回一个子向量,该子向量对应于索引向量为 TRUE 的坐标:

> x[c(rep(TRUE,5),rep(FALSE,5))]
[1] 11 12 13 14 15 16

如果索引向量比数组的长度短,那么它将重复,如下所示:

> x[c(TRUE,FALSE)]
[1] 11 13 15 17 19
> x[c(TRUE,FALSE,FALSE)]
[1] 11 14 17 20