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().

slice(.data, ...)

Arguments

.data

A tbl.

...

Integer row values.

These arguments 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.

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

slice(mtcars, 1L)
#> # A tibble: 1 x 11 #> mpg cyl disp hp drat wt qsec vs am gear carb #> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 21 6 160 110 3.9 2.62 16.46 0 1 4 4
slice(mtcars, n())
#> # A tibble: 1 x 11 #> mpg cyl disp hp drat wt qsec vs am gear carb #> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 21.4 4 121 109 4.11 2.78 18.6 1 1 4 2
slice(mtcars, 5:n())
#> # A tibble: 28 x 11 #> mpg cyl disp hp drat wt qsec vs am gear carb #> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 18.7 8 360.0 175 3.15 3.44 17.02 0 0 3 2 #> 2 18.1 6 225.0 105 2.76 3.46 20.22 1 0 3 1 #> 3 14.3 8 360.0 245 3.21 3.57 15.84 0 0 3 4 #> 4 24.4 4 146.7 62 3.69 3.19 20.00 1 0 4 2 #> 5 22.8 4 140.8 95 3.92 3.15 22.90 1 0 4 2 #> 6 19.2 6 167.6 123 3.92 3.44 18.30 1 0 4 4 #> 7 17.8 6 167.6 123 3.92 3.44 18.90 1 0 4 4 #> 8 16.4 8 275.8 180 3.07 4.07 17.40 0 0 3 3 #> 9 17.3 8 275.8 180 3.07 3.73 17.60 0 0 3 3 #> 10 15.2 8 275.8 180 3.07 3.78 18.00 0 0 3 3 #> # ... with 18 more rows
by_cyl <- group_by(mtcars, cyl) slice(by_cyl, 1:2)
#> # 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.0 93 3.85 2.320 18.61 1 1 4 1 #> 2 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2 #> 3 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 #> 4 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4 #> 5 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2 #> 6 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
# 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)
#> 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
filter(mtcars, row_number() == n())
#> 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
filter(mtcars, between(row_number(), 5, n()))
#> 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