English · PDF 329
#> [1] 1
#>
#> [[2]]
#> [1] 2
#>
#> [[3]]
#> [1] 3
处理列表时非常有用的工具是 str() 因为它关注的是结构,而不是内容:
str(x)
#> List of 3
#> $ : num 1
#> $ : num 2
#> $ : num 3x_named <- list(a = 1, b = 2, c = 3)
str(x_named)
#> List of 3
#> $ a: num 1
#> $ b: num 2
#> $ c: num 3
与原子向量不同, lists() 可以包含混合类型的对象:
y <- list("a", 1L, 1.5, TRUE)
str(y)
#> List of 4
#> $ : chr "a"
#> $ : int 1
#> $ : num 1.5
#> $ : logi TRUE
列表甚至可以包含其他列表!
z <- list(list(1, 2), list(3, 4))
str(z)
#> List of 2
#> $ :List of 2
#> ..$ : num 1
#> ..$ : num 2
#> $ :List of 2
#> ..$ : num 3
#> ..$ : num 4
为了解释更复杂的列表操作函数,拥有列表的可视化表示会很有帮助。例如,看这三个列表: