# NOT RUN {
set.seed(100)
df <- data.frame(start = 1:10,
width = 5,
gc = runif(10),
cat = sample(letters[1:2], 10, replace = TRUE))
rng <- as_iranges(df)
rng_by_cat <- rng %>% group_by(cat)
# grouping does not change appearance or shape of Ranges
rng_by_cat
# a list of symbols
groups(rng_by_cat)
# ungroup removes any grouping
ungroup(rng_by_cat)
# group_by works best with other verbs
grng <- as_granges(df,
seqnames = "chr1",
strand = sample(c("+", "-"), size = 10, replace = TRUE))
grng_by_strand <- grng %>% group_by(strand)
grng_by_strand
# grouping with other verbs
grng_by_strand %>% summarise(gc = mean(gc))
grng_by_strand %>% filter(gc == min(gc))
grng_by_strand %>%
ungroup() %>%
summarise(gc = mean(gc))
# }
Run the code above in your browser using DataLab