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
#>