Sample n rows from a table.

This is a wrapper around to make it easy to select random rows from a table. It currently only works for local tbls.

sample_n(tbl, size, replace = FALSE, weight = NULL, .env = parent.frame())

sample_frac(tbl, size = 1, replace = FALSE, weight = NULL, .env = parent.frame())


tbl of data.


For sample_n, the number of rows to select. For sample_frac, the fraction of rows to select. If tbl is grouped, size applies to each group.


Sample with or without replacement?


Sampling weights. This expression is evaluated in the context of the data frame. It must return a vector of non-negative numbers the same length as the input. Weights are automatically standardised to sum to 1.


Environment in which to look for non-data names used in weight. Non-default settings for experts only.

  • sample
  • sample_frac
  • sample_n
library(dplyr) by_cyl <- mtcars %>% group_by(cyl) # Sample fixed number per group sample_n(mtcars, 10) sample_n(mtcars, 50, replace = TRUE) sample_n(mtcars, 10, weight = mpg) sample_n(by_cyl, 3) sample_n(by_cyl, 10, replace = TRUE) sample_n(by_cyl, 3, weight = mpg / mean(mpg)) # Sample fixed fraction per group # Default is to sample all data = randomly resample rows sample_frac(mtcars) sample_frac(mtcars, 0.1) sample_frac(mtcars, 1.5, replace = TRUE) sample_frac(mtcars, 0.1, weight = 1 / mpg) sample_frac(by_cyl, 0.2) sample_frac(by_cyl, 1, replace = TRUE)
Documentation reproduced from package dplyr, version 0.5.0, License: MIT + file LICENSE

Community examples

Looks like there are no examples yet.