R可能有自己的loigc,但list()
并没有给我我所期望的.
l1 <- list(1,2)
$> l1
[[1]]
[1] 1
[[2]]
[1] 2
要检索元素,我需要使用双括号,即.,
$> l1[[1]]
[1] 1
$> class(l1[[1]])
"numeric"
单括号为我提供了一个子列表(也是一个列表对象):
$> l1[1]
l1[[1]]
[1] 1
$> class(l1[1])
"list"
我并不是说这是错误的;这不是我所期望的,因为我试图创建一个一维列表,而实际上我得到的是一个嵌套列表,一个二维对象.
这种行为背后的逻辑是什么?我们如何创建OO类型列表?i、 例如,一维数据 struct ?
对于一维数据 struct ,我期望的行为是:
$> l1[1]
[1] 1
$> l1[2]
[2] 2