slice.Ranges {plyranges} | R Documentation

## Choose rows by their position

### Description

Choose rows by their position

### Usage

    ## S3 method for class 'Ranges'
    slice(.data, ..., .preserve = FALSE)

    ## S3 method for class 'GroupedGenomicRanges'
    slice(.data, ..., .preserve = FALSE)

    ## S3 method for class 'GroupedIntegerRanges'
    slice(.data, ..., .preserve = FALSE)

### Arguments

`.data` | a `Ranges` object
`...` | Integer row values indicating rows to keep. If `.data` has been grouped via `group_by()`, then the positions are selected within each group.
`.preserve` | when FALSE (the default) the grouping structure is recomputed, otherwise it is kept as is. Currently ignored.

### Value

a GRanges object

### Examples

    df <- data.frame(start = 1:10,
                     width = 5,
                     seqnames = "seq1",
                     strand = sample(c("+", "-", "*"), 10, replace = TRUE),
                     gc = runif(10))
    rng <- as_granges(df)
    dplyr::slice(rng, 1:2)
    dplyr::slice(rng, -n())
    dplyr::slice(rng, -5:-n())

    by_strand <- group_by(rng, strand)

    # slice with group by finds positions within each group
    dplyr::slice(by_strand, n())
    dplyr::slice(by_strand, which.max(gc))

    # if the index is beyond the number of groups slice are ignored
    dplyr::slice(by_strand, 1:3)

[Package plyranges version 1.12.1 Index]