【发布时间】:2016-07-31 21:53:11
【问题描述】:
我已经从 STATA 过渡到 R,并且我正在尝试不同的数据类型,以便在我的脑海中清楚 R 的数据结构。
我是这样设置数据结构的:
b<-list(u=5,v=12)
c<-list(u=7)
j<-list(name="Joe",salary=55000,union=T)
bcj<-list(b,c,j)
现在,我试图找出访问 u=5 的不同方法。我认为有三种方式:
试一试:
bcj[[1]][[1]]
我得到了 5。正确!
Try2:
bcj[[1]][["u"]]
我得到了 5。正确!
Try3:
bcj[[1]]$u
我得到了 5。正确!
Try4
bcj[[1]][1][1]
这是我得到的:
bcj[[1]][1][1]
$u
[1] 5
class(bcj[[1]][1][1])
[1] "list"
问题 1:为什么会这样?
另外,我尝试了以下方法:
bcj[[1]][1][1][1][1][1]
$u
[1] 5
class(bcj[[1]][1][1][1][1][1])
[1] "list"
问题 2:我本以为会出现错误,因为我认为 bcj 中不存在这么多列表,但 R 给了我一个列表。为什么会这样?
PS:我确实在 SO 上看过 this thread,但它谈论的是不同的问题。
【问题讨论】: