Number of combinations

ncombinations(x = NULL, k = NULL, n = NULL, v = NULL,
  freq = NULL, replace = FALSE, bigz = FALSE)

Arguments

x

an integer or a vector, will be treated as n if integer; otherwise, will be treated as v. Should not be specified together with n and v.

k

an integer, the number of items drawn, defaults to n if freq is NULL else sum(freq)

n

an integer, the total number of items, its value may be implicitly deduced from length(v) or length(freq)

v

a vector to be drawn, defaults to 1:n.

freq

an integer vector of item repeat frequencies

replace

an logical to draw items with replacement

bigz

an logical to use gmp::bigz

See also

combinations for generating all combinations and icombinations for iterating combinations

Examples

ncombinations(5, 2)
#> [1] 10
ncombinations(LETTERS, k = 5)
#> [1] 65780
# integer overflow if (FALSE) ncombinations(40, 15) ncombinations(40, 15, bigz = TRUE)
#> Big Integer ('bigz') : #> [1] 40225345056
# number of combinations of `c("a", "b", "b")` # they are `c("a", "b")` and `c("b", "b")` ncombinations(k = 2, freq = c(1, 2))
#> [1] 2
# zero sized combinations ncombinations(5, 0)
#> [1] 1
ncombinations(5, 6)
#> [1] 0
ncombinations(0, 1)
#> [1] 0
ncombinations(0, 0)
#> [1] 1