我觉得这个问题已在某个地方得到解答,但我找不到足够相似的例子。我的问题如下。
我有一个列表ls
,其中包含3个列表agb
gpp
和npp
。每个列表又由3个向量组成。您可以通过执行
ls = list()
elem1=list()
elem2=list()
elem3=list()
elem1$vect1 = c(1,2,3)
elem1$vect2 = c(2,3,4)
elem1$vect3 = c(3,4,5)
elem2$vect1 = c(1,2,3)
elem2$vect2 = c(2,3,4)
elem2$vect3 = c(3,4,5)
elem3$vect1 = c(1,2,3)
elem3$vect2 = c(2,3,4)
elem3$vect3 = c(3,4,5)
ls$gpp = elem1
ls$npp = elem2
ls$agb = elem3
那样
str(ls)
List of 3
$ gpp:List of 3
..$ vect1: num [1:3] 1 2 3
..$ vect2: num [1:3] 2 3 4
..$ vect3: num [1:3] 3 4 5
$ npp:List of 3
..$ vect1: num [1:3] 1 2 3
..$ vect2: num [1:3] 2 3 4
..$ vect3: num [1:3] 3 4 5
$ agb:List of 3
..$ vect1: num [1:3] 1 2 3
..$ vect2: num [1:3] 2 3 4
..$ vect3: num [1:3] 3 4 5
现在,如果我想访问第一个gpp
的{{1}},我就会vect
。如果我想要所有ls$gpp[["vect1"]]
我只做gpp
。但是,如果我必须访问ls$gpp
元素的所有第一个索引(gpp
,agb
,npp
),该怎么办?像vect1
这样的东西,其中第一个空方括号组代表ls[[]][["vect1"]]
的每个子列表。