这里的输出by
是一个列表,因此您可以使用基本的列表索引,按数字或名称。使用您几个小时前的问题中的数据以及Matthew Lundberg 的回答,我们可以索引如下:
> x[[1]]
Time Velocity
1 0.0 0.00
2 1.5 1.21
3 3.0 1.26
4 4.5 1.31
> x[["[6,12)"]]
Time Velocity
5 6.0 1.36
6 7.5 1.41
7 9.0 1.46
8 10.5 1.51
您可以使用 . 查看 R 中对象的结构str
。这通常有助于您决定如何提取某些信息。这是str(x)
:
> str(x)
List of 7
$ [0,6) :Classes ‘AsIs’ and 'data.frame': 4 obs. of 2 variables:
..$ Time : num [1:4] 0 1.5 3 4.5
..$ Velocity: num [1:4] 0 1.21 1.26 1.31
$ [6,12) :Classes ‘AsIs’ and 'data.frame': 4 obs. of 2 variables:
..$ Time : num [1:4] 6 7.5 9 10.5
..$ Velocity: num [1:4] 1.36 1.41 1.46 1.51
$ [12,18):Classes ‘AsIs’ and 'data.frame': 6 obs. of 2 variables:
..$ Time : num [1:6] 12 13 14 15 16 17
..$ Velocity: num [1:6] 1.56 1.61 1.66 1.71 1.76 1.81
$ [18,24):Classes ‘AsIs’ and 'data.frame': 5 obs. of 2 variables:
..$ Time : num [1:5] 18 19 20 21 22.5
..$ Velocity: num [1:5] 1.86 1.91 1.96 2.01 2.06
$ [24,30):Classes ‘AsIs’ and 'data.frame': 4 obs. of 2 variables:
..$ Time : num [1:4] 24 25.5 27 28.5
..$ Velocity: num [1:4] 2.11 2.16 2.21 2.26
$ [30,36):Classes ‘AsIs’ and 'data.frame': 4 obs. of 2 variables:
..$ Time : num [1:4] 30 31.5 33 34.5
..$ Velocity: num [1:4] 2.31 2.36 2.41 2.42
$ [36,42):Classes ‘AsIs’ and 'data.frame': 1 obs. of 2 variables:
..$ Time : num 36
..$ Velocity: num 2.43
- attr(*, "dim")= int 7
- attr(*, "dimnames")=List of 1
..$ cuts: chr [1:7] "[0,6)" "[6,12)" "[12,18)" "[18,24)" ...
- attr(*, "call")= language by.data.frame(data = mydf, INDICES = cuts, FUN = I)
- attr(*, "class")= chr "by"
从这里我们可以看到我们有一个包含七个项目的命名列表,每个列表都包含一个data.frame
. 因此,如果我们想要一个仅包含第三个间隔的“速度”变量(第二列)的向量,我们将使用如下内容:
> x[[3]][[2]]
[1] 1.56 1.61 1.66 1.71 1.76 1.81