English · PDF 326
tibble(x = 1:4, y = rep(1:2, each = 2)) #> # 一个 tibble:4 × 2 #> x y #>
所有类型的向量都可以命名。你可以在用 c() 创建时命名:
c(x = 1, y = 2, z = 4) #> x y z #> 1 2 4
也可以事后用 purrr::set_names() 命名:
set_names(1:3, c("a", "b", "c")) #> a b c #> 1 2 3
命名向量在子集选取时最为有用,接下来会介绍。
到目前为止,我们一直使用 dplyr::filter() 来筛选 tibble 中的行。fil ter() 只能用于 tibble,所以对于向量我们需要一个新工具:[。[ 是子集选取函数,调用方式类似于 x[a]。你可以用四类东西对向量进行子集选取:
用正整数进行子集选取会保留这些位置上的元素:
x <- c("one", "two", "three", "four", "five") x[c(3, 2, 5)] #> [1] "three" "two" "five"
通过重复某个位置,你实际上可以生成比输入更长的输出:
x[c(1, 1, 5, 5, 5, 2)] #> [1] "one" "one" "five" "five" "five" "two"