There are circumstances when one wants to generate all possible combinations of levels for two factors. For example, factor one with levels ‘A’, ‘B’ and ‘C’, and factor two with levels ‘D’, ‘E’, ‘F’. The function `expand.grid()`

comes very handy here:

[sourcecode language=”r”]

combo = expand.grid(factor1 = LETTERS[1:3],

factor2 = LETTERS[4:6])

combo

factor1 factor2

1 A D

2 B D

3 C D

4 A E

5 B E

6 C E

7 A F

8 B F

9 C F

[/sourcecode]

Omitting the variable names (factor1 and factor 2) will automatically name the variables as Var1 and Var2. Of course we do not have to use letters for the factor levels; if you have defined a couple of factors (say Fertilizer and Irrigation) you can use `levels(Fertilizer)`

and `levels(Irrigation)`

instead of LETTERS…

## One reply on “All combinations of levels for two factors”

[…] a previous post I explained how to create all possible combinations of the levels of two factors using […]