English · PDF 435
现在你已经了解了管理多个模型的基本工作流程,让我们回过头来深入了解一些细节。在本节中,我们将更详细地探讨列表列(list-column)这一数据结构。直到最近我才真正体会到列表列这一概念的价值。列表列隐含在数据框的定义中:数据框是一个由等长向量组成的命名列表。列表也是一种向量,所以使用列表作为数据框的一列一直都是合法的。然而,base R 并没有让创建列表列变得容易,而且 data.frame() 会把列表当作列的列表来处理:
data.frame(x = list(1:3, 3:5)) #> x.1.3 x.3.5 #> 1 1 3 #> 2 2 4 #> 3 3 5
你可以用 I() 阻止 data.frame() 这样做,但结果的打印效果不太好:
data.frame( x = I(list(1:3, 3:5)), y = c("1, 2", "3, 4, 5") ) #> x y