Generates a function for generating names of index columns for factors in compose_data() by prefixing a character vector to the original column name.

n_prefix(prefix)

Arguments

prefix

Character vector to be prepended to column names by compose_data() to create index columns. Typically something like "n" (that is the default used in the .n_name argument of compose_data()).

Returns a function. The function returned takes a character vector, name and returns paste0(prefix, "_", name), unless name is empty, in which case it will return prefix.

n_prefix("n") is the default method that compose_data() uses to generate column names for variables storing the number of levels in a factor. Under this method, given a data frame df with a factor column "foo" containing 5 levels, the results of compose_data(df) will include an element named "n" (the result of n_prefix("n")("")) equal to the number of rows in df and an element named "n_foo" (the result of n_prefix("n")("foo")) equal to the number of levels in df$foo.

See also

The .n_name argument of compose_data().

Examples

library(magrittr) df = data.frame( plot = factor(paste0("p", rep(1:8, times = 2))), site = factor(paste0("s", rep(1:4, each = 2, times = 2))) ) # without changing `.n_name`, compose_data() will prefix indices # with "n" by default df %>% compose_data()
#> $plot #> [1] 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 #> #> $n_plot #> [1] 8 #> #> $site #> [1] 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4 #> #> $n_site #> [1] 4 #> #> $n #> [1] 16 #>
# you can use n_prefix() to define a different prefix (e.g. "N"): df %>% compose_data(.n_name = n_prefix("N"))
#> $plot #> [1] 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 #> #> $N_plot #> [1] 8 #> #> $site #> [1] 1 1 2 2 3 3 4 4 1 1 2 2 3 3 4 4 #> #> $N_site #> [1] 4 #> #> $N #> [1] 16 #>