Skip to contents

A few notes on the math and calculating possible options: https://math.stackexchange.com/a/2339815

Usage

combn_perm(data, m, perm = FALSE, force = FALSE, limit = 1e+06)

Arguments

data

data

m

group size(s). Numeric vector of length 1:length(data).

perm

logical to include all group sizes from 1:m. If m is missing 1:length(data).

force

logical to force complete combinations

limit

warning limit of large number of permutations

Value

list

Examples

combn_perm(1:3, 1)
#> [[1]]
#> [1] 1
#> 
#> [[2]]
#> [1] 2
#> 
#> [[3]]
#> [1] 3
#> 
combn_perm(1:4, 2)
#> [[1]]
#> [1] 1 2
#> 
#> [[2]]
#> [1] 1 3
#> 
#> [[3]]
#> [1] 1 4
#> 
#> [[4]]
#> [1] 2 3
#> 
#> [[5]]
#> [1] 2 4
#> 
#> [[6]]
#> [1] 3 4
#> 
combn_perm(1:4, c(1, 2, 4), perm = TRUE)
#> [[1]]
#> [1] 1
#> 
#> [[2]]
#> [1] 2
#> 
#> [[3]]
#> [1] 3
#> 
#> [[4]]
#> [1] 4
#> 
#> [[5]]
#> [1] 1 2
#> 
#> [[6]]
#> [1] 1 3
#> 
#> [[7]]
#> [1] 1 4
#> 
#> [[8]]
#> [1] 2 3
#> 
#> [[9]]
#> [1] 2 4
#> 
#> [[10]]
#> [1] 3 4
#> 
#> [[11]]
#> [1] 1 2 3
#> 
#> [[12]]
#> [1] 1 2 4
#> 
#> [[13]]
#> [1] 1 3 4
#> 
#> [[14]]
#> [1] 2 3 4
#> 
#> [[15]]
#> [1] 1 2 3 4
#> 
combn_perm(1:10, c(1, 2, 4), perm = FALSE)
#> [[1]]
#> [1] 1
#> 
#> [[2]]
#> [1] 2
#> 
#> [[3]]
#> [1] 3
#> 
#> [[4]]
#> [1] 4
#> 
#> [[5]]
#> [1] 5
#> 
#> [[6]]
#> [1] 6
#> 
#> [[7]]
#> [1] 7
#> 
#> [[8]]
#> [1] 8
#> 
#> [[9]]
#> [1] 9
#> 
#> [[10]]
#> [1] 10
#> 
#> [[11]]
#> [1] 1 2
#> 
#> [[12]]
#> [1] 1 3
#> 
#> [[13]]
#> [1] 1 4
#> 
#> [[14]]
#> [1] 1 5
#> 
#> [[15]]
#> [1] 1 6
#> 
#> [[16]]
#> [1] 1 7
#> 
#> [[17]]
#> [1] 1 8
#> 
#> [[18]]
#> [1] 1 9
#> 
#> [[19]]
#> [1]  1 10
#> 
#> [[20]]
#> [1] 2 3
#> 
#> [[21]]
#> [1] 2 4
#> 
#> [[22]]
#> [1] 2 5
#> 
#> [[23]]
#> [1] 2 6
#> 
#> [[24]]
#> [1] 2 7
#> 
#> [[25]]
#> [1] 2 8
#> 
#> [[26]]
#> [1] 2 9
#> 
#> [[27]]
#> [1]  2 10
#> 
#> [[28]]
#> [1] 3 4
#> 
#> [[29]]
#> [1] 3 5
#> 
#> [[30]]
#> [1] 3 6
#> 
#> [[31]]
#> [1] 3 7
#> 
#> [[32]]
#> [1] 3 8
#> 
#> [[33]]
#> [1] 3 9
#> 
#> [[34]]
#> [1]  3 10
#> 
#> [[35]]
#> [1] 4 5
#> 
#> [[36]]
#> [1] 4 6
#> 
#> [[37]]
#> [1] 4 7
#> 
#> [[38]]
#> [1] 4 8
#> 
#> [[39]]
#> [1] 4 9
#> 
#> [[40]]
#> [1]  4 10
#> 
#> [[41]]
#> [1] 5 6
#> 
#> [[42]]
#> [1] 5 7
#> 
#> [[43]]
#> [1] 5 8
#> 
#> [[44]]
#> [1] 5 9
#> 
#> [[45]]
#> [1]  5 10
#> 
#> [[46]]
#> [1] 6 7
#> 
#> [[47]]
#> [1] 6 8
#> 
#> [[48]]
#> [1] 6 9
#> 
#> [[49]]
#> [1]  6 10
#> 
#> [[50]]
#> [1] 7 8
#> 
#> [[51]]
#> [1] 7 9
#> 
#> [[52]]
#> [1]  7 10
#> 
#> [[53]]
#> [1] 8 9
#> 
#> [[54]]
#> [1]  8 10
#> 
#> [[55]]
#> [1]  9 10
#> 
#> [[56]]
#> [1] 1 2 3 4
#> 
#> [[57]]
#> [1] 1 2 3 5
#> 
#> [[58]]
#> [1] 1 2 3 6
#> 
#> [[59]]
#> [1] 1 2 3 7
#> 
#> [[60]]
#> [1] 1 2 3 8
#> 
#> [[61]]
#> [1] 1 2 3 9
#> 
#> [[62]]
#> [1]  1  2  3 10
#> 
#> [[63]]
#> [1] 1 2 4 5
#> 
#> [[64]]
#> [1] 1 2 4 6
#> 
#> [[65]]
#> [1] 1 2 4 7
#> 
#> [[66]]
#> [1] 1 2 4 8
#> 
#> [[67]]
#> [1] 1 2 4 9
#> 
#> [[68]]
#> [1]  1  2  4 10
#> 
#> [[69]]
#> [1] 1 2 5 6
#> 
#> [[70]]
#> [1] 1 2 5 7
#> 
#> [[71]]
#> [1] 1 2 5 8
#> 
#> [[72]]
#> [1] 1 2 5 9
#> 
#> [[73]]
#> [1]  1  2  5 10
#> 
#> [[74]]
#> [1] 1 2 6 7
#> 
#> [[75]]
#> [1] 1 2 6 8
#> 
#> [[76]]
#> [1] 1 2 6 9
#> 
#> [[77]]
#> [1]  1  2  6 10
#> 
#> [[78]]
#> [1] 1 2 7 8
#> 
#> [[79]]
#> [1] 1 2 7 9
#> 
#> [[80]]
#> [1]  1  2  7 10
#> 
#> [[81]]
#> [1] 1 2 8 9
#> 
#> [[82]]
#> [1]  1  2  8 10
#> 
#> [[83]]
#> [1]  1  2  9 10
#> 
#> [[84]]
#> [1] 1 3 4 5
#> 
#> [[85]]
#> [1] 1 3 4 6
#> 
#> [[86]]
#> [1] 1 3 4 7
#> 
#> [[87]]
#> [1] 1 3 4 8
#> 
#> [[88]]
#> [1] 1 3 4 9
#> 
#> [[89]]
#> [1]  1  3  4 10
#> 
#> [[90]]
#> [1] 1 3 5 6
#> 
#> [[91]]
#> [1] 1 3 5 7
#> 
#> [[92]]
#> [1] 1 3 5 8
#> 
#> [[93]]
#> [1] 1 3 5 9
#> 
#> [[94]]
#> [1]  1  3  5 10
#> 
#> [[95]]
#> [1] 1 3 6 7
#> 
#> [[96]]
#> [1] 1 3 6 8
#> 
#> [[97]]
#> [1] 1 3 6 9
#> 
#> [[98]]
#> [1]  1  3  6 10
#> 
#> [[99]]
#> [1] 1 3 7 8
#> 
#> [[100]]
#> [1] 1 3 7 9
#> 
#> [[101]]
#> [1]  1  3  7 10
#> 
#> [[102]]
#> [1] 1 3 8 9
#> 
#> [[103]]
#> [1]  1  3  8 10
#> 
#> [[104]]
#> [1]  1  3  9 10
#> 
#> [[105]]
#> [1] 1 4 5 6
#> 
#> [[106]]
#> [1] 1 4 5 7
#> 
#> [[107]]
#> [1] 1 4 5 8
#> 
#> [[108]]
#> [1] 1 4 5 9
#> 
#> [[109]]
#> [1]  1  4  5 10
#> 
#> [[110]]
#> [1] 1 4 6 7
#> 
#> [[111]]
#> [1] 1 4 6 8
#> 
#> [[112]]
#> [1] 1 4 6 9
#> 
#> [[113]]
#> [1]  1  4  6 10
#> 
#> [[114]]
#> [1] 1 4 7 8
#> 
#> [[115]]
#> [1] 1 4 7 9
#> 
#> [[116]]
#> [1]  1  4  7 10
#> 
#> [[117]]
#> [1] 1 4 8 9
#> 
#> [[118]]
#> [1]  1  4  8 10
#> 
#> [[119]]
#> [1]  1  4  9 10
#> 
#> [[120]]
#> [1] 1 5 6 7
#> 
#> [[121]]
#> [1] 1 5 6 8
#> 
#> [[122]]
#> [1] 1 5 6 9
#> 
#> [[123]]
#> [1]  1  5  6 10
#> 
#> [[124]]
#> [1] 1 5 7 8
#> 
#> [[125]]
#> [1] 1 5 7 9
#> 
#> [[126]]
#> [1]  1  5  7 10
#> 
#> [[127]]
#> [1] 1 5 8 9
#> 
#> [[128]]
#> [1]  1  5  8 10
#> 
#> [[129]]
#> [1]  1  5  9 10
#> 
#> [[130]]
#> [1] 1 6 7 8
#> 
#> [[131]]
#> [1] 1 6 7 9
#> 
#> [[132]]
#> [1]  1  6  7 10
#> 
#> [[133]]
#> [1] 1 6 8 9
#> 
#> [[134]]
#> [1]  1  6  8 10
#> 
#> [[135]]
#> [1]  1  6  9 10
#> 
#> [[136]]
#> [1] 1 7 8 9
#> 
#> [[137]]
#> [1]  1  7  8 10
#> 
#> [[138]]
#> [1]  1  7  9 10
#> 
#> [[139]]
#> [1]  1  8  9 10
#> 
#> [[140]]
#> [1] 2 3 4 5
#> 
#> [[141]]
#> [1] 2 3 4 6
#> 
#> [[142]]
#> [1] 2 3 4 7
#> 
#> [[143]]
#> [1] 2 3 4 8
#> 
#> [[144]]
#> [1] 2 3 4 9
#> 
#> [[145]]
#> [1]  2  3  4 10
#> 
#> [[146]]
#> [1] 2 3 5 6
#> 
#> [[147]]
#> [1] 2 3 5 7
#> 
#> [[148]]
#> [1] 2 3 5 8
#> 
#> [[149]]
#> [1] 2 3 5 9
#> 
#> [[150]]
#> [1]  2  3  5 10
#> 
#> [[151]]
#> [1] 2 3 6 7
#> 
#> [[152]]
#> [1] 2 3 6 8
#> 
#> [[153]]
#> [1] 2 3 6 9
#> 
#> [[154]]
#> [1]  2  3  6 10
#> 
#> [[155]]
#> [1] 2 3 7 8
#> 
#> [[156]]
#> [1] 2 3 7 9
#> 
#> [[157]]
#> [1]  2  3  7 10
#> 
#> [[158]]
#> [1] 2 3 8 9
#> 
#> [[159]]
#> [1]  2  3  8 10
#> 
#> [[160]]
#> [1]  2  3  9 10
#> 
#> [[161]]
#> [1] 2 4 5 6
#> 
#> [[162]]
#> [1] 2 4 5 7
#> 
#> [[163]]
#> [1] 2 4 5 8
#> 
#> [[164]]
#> [1] 2 4 5 9
#> 
#> [[165]]
#> [1]  2  4  5 10
#> 
#> [[166]]
#> [1] 2 4 6 7
#> 
#> [[167]]
#> [1] 2 4 6 8
#> 
#> [[168]]
#> [1] 2 4 6 9
#> 
#> [[169]]
#> [1]  2  4  6 10
#> 
#> [[170]]
#> [1] 2 4 7 8
#> 
#> [[171]]
#> [1] 2 4 7 9
#> 
#> [[172]]
#> [1]  2  4  7 10
#> 
#> [[173]]
#> [1] 2 4 8 9
#> 
#> [[174]]
#> [1]  2  4  8 10
#> 
#> [[175]]
#> [1]  2  4  9 10
#> 
#> [[176]]
#> [1] 2 5 6 7
#> 
#> [[177]]
#> [1] 2 5 6 8
#> 
#> [[178]]
#> [1] 2 5 6 9
#> 
#> [[179]]
#> [1]  2  5  6 10
#> 
#> [[180]]
#> [1] 2 5 7 8
#> 
#> [[181]]
#> [1] 2 5 7 9
#> 
#> [[182]]
#> [1]  2  5  7 10
#> 
#> [[183]]
#> [1] 2 5 8 9
#> 
#> [[184]]
#> [1]  2  5  8 10
#> 
#> [[185]]
#> [1]  2  5  9 10
#> 
#> [[186]]
#> [1] 2 6 7 8
#> 
#> [[187]]
#> [1] 2 6 7 9
#> 
#> [[188]]
#> [1]  2  6  7 10
#> 
#> [[189]]
#> [1] 2 6 8 9
#> 
#> [[190]]
#> [1]  2  6  8 10
#> 
#> [[191]]
#> [1]  2  6  9 10
#> 
#> [[192]]
#> [1] 2 7 8 9
#> 
#> [[193]]
#> [1]  2  7  8 10
#> 
#> [[194]]
#> [1]  2  7  9 10
#> 
#> [[195]]
#> [1]  2  8  9 10
#> 
#> [[196]]
#> [1] 3 4 5 6
#> 
#> [[197]]
#> [1] 3 4 5 7
#> 
#> [[198]]
#> [1] 3 4 5 8
#> 
#> [[199]]
#> [1] 3 4 5 9
#> 
#> [[200]]
#> [1]  3  4  5 10
#> 
#> [[201]]
#> [1] 3 4 6 7
#> 
#> [[202]]
#> [1] 3 4 6 8
#> 
#> [[203]]
#> [1] 3 4 6 9
#> 
#> [[204]]
#> [1]  3  4  6 10
#> 
#> [[205]]
#> [1] 3 4 7 8
#> 
#> [[206]]
#> [1] 3 4 7 9
#> 
#> [[207]]
#> [1]  3  4  7 10
#> 
#> [[208]]
#> [1] 3 4 8 9
#> 
#> [[209]]
#> [1]  3  4  8 10
#> 
#> [[210]]
#> [1]  3  4  9 10
#> 
#> [[211]]
#> [1] 3 5 6 7
#> 
#> [[212]]
#> [1] 3 5 6 8
#> 
#> [[213]]
#> [1] 3 5 6 9
#> 
#> [[214]]
#> [1]  3  5  6 10
#> 
#> [[215]]
#> [1] 3 5 7 8
#> 
#> [[216]]
#> [1] 3 5 7 9
#> 
#> [[217]]
#> [1]  3  5  7 10
#> 
#> [[218]]
#> [1] 3 5 8 9
#> 
#> [[219]]
#> [1]  3  5  8 10
#> 
#> [[220]]
#> [1]  3  5  9 10
#> 
#> [[221]]
#> [1] 3 6 7 8
#> 
#> [[222]]
#> [1] 3 6 7 9
#> 
#> [[223]]
#> [1]  3  6  7 10
#> 
#> [[224]]
#> [1] 3 6 8 9
#> 
#> [[225]]
#> [1]  3  6  8 10
#> 
#> [[226]]
#> [1]  3  6  9 10
#> 
#> [[227]]
#> [1] 3 7 8 9
#> 
#> [[228]]
#> [1]  3  7  8 10
#> 
#> [[229]]
#> [1]  3  7  9 10
#> 
#> [[230]]
#> [1]  3  8  9 10
#> 
#> [[231]]
#> [1] 4 5 6 7
#> 
#> [[232]]
#> [1] 4 5 6 8
#> 
#> [[233]]
#> [1] 4 5 6 9
#> 
#> [[234]]
#> [1]  4  5  6 10
#> 
#> [[235]]
#> [1] 4 5 7 8
#> 
#> [[236]]
#> [1] 4 5 7 9
#> 
#> [[237]]
#> [1]  4  5  7 10
#> 
#> [[238]]
#> [1] 4 5 8 9
#> 
#> [[239]]
#> [1]  4  5  8 10
#> 
#> [[240]]
#> [1]  4  5  9 10
#> 
#> [[241]]
#> [1] 4 6 7 8
#> 
#> [[242]]
#> [1] 4 6 7 9
#> 
#> [[243]]
#> [1]  4  6  7 10
#> 
#> [[244]]
#> [1] 4 6 8 9
#> 
#> [[245]]
#> [1]  4  6  8 10
#> 
#> [[246]]
#> [1]  4  6  9 10
#> 
#> [[247]]
#> [1] 4 7 8 9
#> 
#> [[248]]
#> [1]  4  7  8 10
#> 
#> [[249]]
#> [1]  4  7  9 10
#> 
#> [[250]]
#> [1]  4  8  9 10
#> 
#> [[251]]
#> [1] 5 6 7 8
#> 
#> [[252]]
#> [1] 5 6 7 9
#> 
#> [[253]]
#> [1]  5  6  7 10
#> 
#> [[254]]
#> [1] 5 6 8 9
#> 
#> [[255]]
#> [1]  5  6  8 10
#> 
#> [[256]]
#> [1]  5  6  9 10
#> 
#> [[257]]
#> [1] 5 7 8 9
#> 
#> [[258]]
#> [1]  5  7  8 10
#> 
#> [[259]]
#> [1]  5  7  9 10
#> 
#> [[260]]
#> [1]  5  8  9 10
#> 
#> [[261]]
#> [1] 6 7 8 9
#> 
#> [[262]]
#> [1]  6  7  8 10
#> 
#> [[263]]
#> [1]  6  7  9 10
#> 
#> [[264]]
#> [1]  6  8  9 10
#> 
#> [[265]]
#> [1]  7  8  9 10
#> 
combn_perm(letters[1:4], perm = TRUE)
#> [[1]]
#> [1] "a"
#> 
#> [[2]]
#> [1] "b"
#> 
#> [[3]]
#> [1] "c"
#> 
#> [[4]]
#> [1] "d"
#> 
#> [[5]]
#> [1] "a" "b"
#> 
#> [[6]]
#> [1] "a" "c"
#> 
#> [[7]]
#> [1] "a" "d"
#> 
#> [[8]]
#> [1] "b" "c"
#> 
#> [[9]]
#> [1] "b" "d"
#> 
#> [[10]]
#> [1] "c" "d"
#> 
#> [[11]]
#> [1] "a" "b" "c"
#> 
#> [[12]]
#> [1] "a" "b" "d"
#> 
#> [[13]]
#> [1] "a" "c" "d"
#> 
#> [[14]]
#> [1] "b" "c" "d"
#> 
#> [[15]]
#> [1] "a" "b" "c" "d"
#> 
rownames(mtcars) |>
  combn_perm(2) |> length()
#> [1] 496
if (FALSE) { # \dontrun{
rownames(mtcars) |>
  combn_perm(2,limit=100)
} # }