slice: Choose rows by position

Description Usage Arguments Details Tidy data See Also Examples

View source: R/manip.r

Description

Choose rows by their ordinal position in the tbl. Grouped tbls use the ordinal position within the group.

Usage

1
slice(.data, ..., .preserve = FALSE)

Arguments

.data

A tbl.

...

Integer row values. Provide either positive values to keep, or negative values to drop. The values provided must be either all positive or all negative. Indices beyond the number of rows in the input are silently ignored.

The arguments in ... are automatically quoted and evaluated in the context of the data frame. They support unquoting and splicing. See vignette("programming") for an introduction to these concepts.

.preserve

when FALSE (the default), the grouping structure is recalculated based on the resulting data, otherwise it is kept as is.

Details

Slice does not work with relational databases because they have no intrinsic notion of row order. If you want to perform the equivalent operation, use filter() and row_number().

Tidy data

When applied to a data frame, row names are silently dropped. To preserve, convert to an explicit variable with tibble::rownames_to_column().

See Also

Other single table verbs: arrange, filter, mutate, select, summarise

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
slice(mtcars, 1L)
# Similar to tail(mtcars, 1):
slice(mtcars, n())
slice(mtcars, 5:n())
# Rows can be dropped with negative indices:
slice(mtcars, -5:-n())
# In this case, the result will be equivalent to:
slice(mtcars, 1:4)

by_cyl <- group_by(mtcars, cyl)
slice(by_cyl, 1:2)

# Equivalent code using filter that will also work with databases,
# but won't be as fast for in-memory data. For many databases, you'll
# need to supply an explicit variable to use to compute the row number.
filter(mtcars, row_number() == 1L)
filter(mtcars, row_number() == n())
filter(mtcars, between(row_number(), 5, n()))

Example output

Attaching package: 'dplyr'

The following objects are masked from 'package:stats':

    filter, lag

The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union

  mpg cyl disp  hp drat   wt  qsec vs am gear carb
1  21   6  160 110  3.9 2.62 16.46  0  1    4    4
   mpg cyl disp  hp drat   wt qsec vs am gear carb
1 21.4   4  121 109 4.11 2.78 18.6  1  1    4    2
    mpg cyl  disp  hp drat    wt  qsec vs am gear carb
1  18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
2  18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
3  14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
4  24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
5  22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
6  19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
7  17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4
8  16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
9  17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
10 15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
11 10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
12 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
13 14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
14 32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
15 30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
16 33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
17 21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
18 15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
19 15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
20 13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
21 19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
22 27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
23 26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
24 30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
25 15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
26 19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6
27 15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8
28 21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2
   mpg cyl disp  hp drat    wt  qsec vs am gear carb
1 21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
2 21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
3 22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
4 21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
   mpg cyl disp  hp drat    wt  qsec vs am gear carb
1 21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
2 21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
3 22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
4 21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
# A tibble: 6 x 11
# Groups:   cyl [3]
    mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb
  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1  22.8     4  108     93  3.85  2.32  18.6     1     1     4     1
2  24.4     4  147.    62  3.69  3.19  20       1     0     4     2
3  21       6  160    110  3.9   2.62  16.5     0     1     4     4
4  21       6  160    110  3.9   2.88  17.0     0     1     4     4
5  18.7     8  360    175  3.15  3.44  17.0     0     0     3     2
6  14.3     8  360    245  3.21  3.57  15.8     0     0     3     4
  mpg cyl disp  hp drat   wt  qsec vs am gear carb
1  21   6  160 110  3.9 2.62 16.46  0  1    4    4
   mpg cyl disp  hp drat   wt qsec vs am gear carb
1 21.4   4  121 109 4.11 2.78 18.6  1  1    4    2
    mpg cyl  disp  hp drat    wt  qsec vs am gear carb
1  18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
2  18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
3  14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
4  24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
5  22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
6  19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
7  17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4
8  16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
9  17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
10 15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
11 10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
12 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
13 14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
14 32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
15 30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
16 33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
17 21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
18 15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
19 15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
20 13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
21 19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
22 27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
23 26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
24 30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
25 15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
26 19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6
27 15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8
28 21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2

dplyr documentation built on March 13, 2020, 2:02 a.m.