new_grouped_df() is a constructor designed to be high-performance so only check types, not values. This means it is the caller's responsibility to create valid values, and hence this is for expert use only.

validate_grouped_df() validates the attributes of a grouped_df.

new_grouped_df(x, groups, ..., class = character())

validate_grouped_df(x, check_bounds = FALSE)

Arguments

x

A data frame

groups

The grouped structure, groups should be a data frame. Its last column should be called .rows and be a list of 1 based integer vectors that all are between 1 and the number of rows of .data.

...

additional attributes

class

additional class, will be prepended to canonical classes of a grouped data frame.

check_bounds

whether to check all indices for out of bounds problems in grouped_df objects

Examples

# 5 bootstrap samples
tbl <- new_grouped_df(
  tibble(x = rnorm(10)),
  groups = tibble(".rows" := replicate(5, sample(1:10, replace = TRUE), simplify = FALSE))
)
# mean of each bootstrap sample
summarise(tbl, x = mean(x))
#> # A tibble: 5 x 1
#>         x
#>     <dbl>
#> 1 -0.298 
#> 2 -0.127 
#> 3 -0.0741
#> 4 -0.288 
#> 5 -0.605