This function is comparable to dplyr::group_by(), but just following the datawizard function design. data_ungroup() removes the grouping information from a grouped data frame.

## Usage

data_group(
x,
select = NULL,
exclude = NULL,
ignore_case = FALSE,
verbose = TRUE,
...
)

data_ungroup(x, verbose = TRUE, ...)

## Arguments

x

A data frame

select

Variables that will be included when performing the required tasks. Can be either

• a variable specified as a literal variable name (e.g., column_name),

• a string with the variable name (e.g., "column_name"), or a character vector of variable names (e.g., c("col1", "col2", "col3")),

• a formula with variable names (e.g., ~column_1 + column_2),

• a vector of positive integers, giving the positions counting from the left (e.g. 1 or c(1, 3, 5)),

• a vector of negative integers, giving the positions counting from the right (e.g., -1 or -1:-3),

• one of the following select-helpers: starts_with(""), ends_with(""), contains(""), a range using : or regex(""),

• or a function testing for logical conditions, e.g. is.numeric() (or is.numeric), or any user-defined function that selects the variables for which the function returns TRUE (like: foo <- function(x) mean(x) > 3),

• ranges specified via literal variable names, select-helpers (except regex()) and (user-defined) functions can be negated, i.e. return non-matching elements, when prefixed with a -, e.g. -ends_with(""), -is.numeric or -Sepal.Width:Petal.Length. Note: Negation means that matches are excluded, and thus, the exclude argument can be used alternatively. For instance, select=-ends_with("Length") (with -) is equivalent to exclude=ends_with("Length") (no -). In case negation should not work as expected, use the exclude argument instead.

If NULL, selects all columns. Patterns that found no matches are silently ignored, e.g. find_columns(iris, select = c("Species", "Test")) will just return "Species".

exclude

See select, however, column names matched by the pattern from exclude will be excluded instead of selected. If NULL (the default), excludes no columns.

ignore_case

Logical, if TRUE and when one of the select-helpers or a regular expression is used in select, ignores lower/upper case in the search pattern when matching against variable names.

verbose

Toggle warnings.

...

Arguments passed down to other functions. Mostly not used yet.

## Value

A grouped data frame, i.e. a data frame with additional information about the grouping structure saved as attributes.

## Examples

data(efc)
if (requireNamespace("poorman")) {
suppressPackageStartupMessages(library(poorman, quietly = TRUE))

# total mean
efc %>%
summarize(mean_hours = mean(c12hour, na.rm = TRUE))

# mean by educational level
efc %>%
data_group(c172code) %>%
summarize(mean_hours = mean(c12hour, na.rm = TRUE))
}