【发布时间】:2013-09-12 12:03:34
【问题描述】:
对此How to use `[[` and `$` as a function? 问题的跟进:我开始使用原始设置进行一些尝试(为简单起见,将大小从 10000 减少到 3)
JSON <- rep(list(x,y),3)
x <- list(a=1, b=1)
y <- list(a=1)
JSON <- rep(list(x,y),3)
sapply(JSON, "[[", "a")
[1] 1 1 1 1 1 1
sapply(JSON,"[[",'b')
[[1]]
[1] 1
[[2]]
NULL
[[3]]
[1] 1
[[4]]
NULL
[[5]]
[1] 1
[[6]]
NULL
sapply(JSON,'[[',1)
[1] 1 1 1 1 1 1
sapply(JSON,'[[',2)
Error in FUN(X[[2L]], ...) : subscript out of bounds
我想我明白了——搜索“b”不同于要求存在第二个元素。但随后,我创建了一个更深层次的列表:
NOSJ<-rep(list(JSON),3)
sapply(NOSJ,'[[',1)
[,1] [,2] [,3]
a 1 1 1
b 1 1 1
sapply(NOSJ,'[[',2)
$a
[1] 1
$a
[1] 1
$a
[1] 1
现在我的头很痛。有人可以扩展[[(或其sapply 方法)在这里做什么吗?
【问题讨论】: