English · PDF 327
负值会丢弃指定位置的元素:
x[c(-1, -3, -5)] #> [1] "two" "four"
混合使用正值和负值会报错:
x[c(1, -1)] #> Error in x[c(1, -1)]: #> only 0's may be mixed with negative subscripts
错误信息提到了用零取子集,这不会返回任何值:
x[0] #> character(0)
这种用法并不常用,但如果你想创建不寻常的数据结构来测试你的函数,它可能会有所帮助。
x <- c(10, 3, NA, 5, 8, 1, NA)
# x 的所有非缺失值 x[!is.na(x)] #> [1] 10 3 5 8 1
# x 的所有偶数(或缺失!)值 x[x %% 2 == 0] #> [1] 10 NA 8 NA
x <- c(abc = 1, def = 2, xyz = 5) x[c("xyz", "def")] #> xyz def #> 5 2
与正整数类似,你也可以使用字符向量来复制单个元素。