How to calculate the chance of getting completely unbalanced groups? (with R) I want to simulate or calculate probabilities of combinations of group membership for different sample sizes (e.g., n= 3, 4, 5, 10, or 100) for two groups (of the same sample size). Each outcome could be male/female and young/old. The population is 50% male and 50% young.
What is the probability of getting: 
all male in Group 1 AND all female in Group 2 
OR 
all male in Group 2 AND all female in Group 1 
OR 
all young in Group 1 AND all old in Group 2
OR 
all young in Group 2 AND all old in Group 1
I would also like to be able to include additional categories (e.g., eats their vegetables, doesn't eat their vegetables) and be able to choose the percent of the population that falls into one category or the other. The categories can be independent of each other, but it would be better if there was the ability to make membership dependent (e.g., females eat their vegetables 70% of the time and males 50% of the time). It would also be better if this was not limited to categories with 2 types (e.g., be able to do 4th, 5th, or 6th grader).
My goal is to calculate the probability of getting completely unbalanced groups for different combinations of confounds and I can't figure out how to do this with R. This is an expansion on this question, but the approach used there is slow for large sample sizes and sort of convoluted.
Edit:
Reworded question:
There are two groups that are independent samples from the same population of gradeschoolers, call them treatment and control. The population consists of 50% males, 50% females, 25% each in 3rd-6th grade. There are equal number of males and females in each grade. Also 75% of females eat vegetables, while only 50% of males eat vegetables regardless of schoolgrade. 
For different sample sizes I want to calculate the chance of getting
All males in one group (treatment/control) while there are all females in the other
OR
All students of the same grade in one group while the second group consists of all students of the same grade but different than the first. For example all 3rd graders in the treatment group and all 6th graders in the control group.
OR
All vegetable eaters in one group and all non-vegetable eaters in the second group.
 A: Taking the reworded question as a starting point:
A) What is the chance of getting all males in one group (treatment/control) while there are all females in the other for different sample sizes?
With n=1, the chance of picking a male from the population is 0.5.
With n=2, the chance that the first pick is a male is 0.5. The chance that the second pick is a male as wel is also 0.5. Consequently the chance of picking all males in a sample of 2 is 0.5 * 0.5, which is the same as 0.5^2.
To put it more generally: the chance of picking all males in a sample is 0.5^n (in which n = sample size). The same is true for the chance of picking all females: 0.5^n.
Now the chance of having all males in one group and all females in the other group is the product of these chances: (0.5^n) * (0.5^n). When you want to take a more general approach, the case where it doesn't matter which sex is in the control group as long as the the other group is composed of the other sex, than the formula is (0.5^(n-1)) * (0.5^n).
B) What is the chance that students in one group are from the same grade, while the student from the other group are all from one of the other grades?
Building on (A), the chances for the first group (=grade) seem quite simple to calculate. As the population is equally divided among the four groups, the chance of picking a student from a particular group is 0.25. So you would say that the chance is 0.25^n. However, this is not true. As it doe not matter from which group the first pick of a sample comes from, only the following picks do matter. The first pick determines from which group the following pick have to come. The chances that these following picks are from the same group are 0.25 for each pick. The chances of picking students from the same group is therefore 0.25^(n-1).
Now you want to know what the chances are that you pick students all from one of the other group. The chance for your first pick is 0.75. As the following picks have to be from the same group, the chance for each of these picks is 0.25. The chances of picking students for the second from another, but the same, group is 0.75 * (0.25^(n-1))
The chance of picking students from the same grade for the first group, while picking students from another, but the same, grade for the second group is therefore: (0.25^(n-1)) * (0.75 * (0.25^(n-1)))
C) What is the chance of having all vegetable eaters in one group and all non-vegetable eaters in the second group?
For this question you have to calculate the chance of picking a (non)-vegetable eater first. The chance of picking a vegetable eater is 0.5 for males and 0.75 for females. Because the population is equally divided betwwen male and females, the chance of picking a vegetable eater is: (0.5 * 0.5) + (0.75 * 0.5) = 0.625. The chance of picking a non-vegetable eater is: 1 - 0.625 = 0.375
The chance of picking all vegetable eaters in the first group while in the same time picking all non-vegetable eaters for the second group is: (0.625^n) * (0.375^n)
You can calculate the answers for A, B & C in R with the following code:
nr <- data.frame(sample.size = c(3, 4, 5, 10, 100))

nr$A <- (0.5 ^ (nr$sample.size - 1)) * (0.5 ^ nr$sample.size)
nr$B <- (0.5 ^ (nr$sample.size - 1)) * (0.75 * (0.25 ^ (nr$sample.size - 1)))
nr$C <- (0.625 ^ nr$sample.size) * (0.375 ^ nr$sample.size)

This will produce a dataframe with sample size in the first column and the probabilities for A, B & C in their respective columns.

Why you should use n-1 instead of simply multiplying by 2:
Consider the example of two group with n = 3 each. When you start selecting the first group, it does not matter which sex you select. So your chance of picking the right one is 1. However, the outcome of your first pick determines which outcomes of the following two selections you need for a same sex group. The chances of picking the same sex for both selections are 0.5. Consequently the chance of picking participants of the same sex for the first group is 1*0.5*0.5 = 1*(0.5^2) = 0.5^2. The general formula for this outcome is 0.5^(n-1). For your second group, you have only a chance of 0.5 for the first pick of selecting a participant of the other sex. Also for the second and third pick you have a chance of 0.5 for each. The calculation is therefore: 0.5*0.5*0.5 = 0.5^3. The general formula for this part is 0.5 ^ n. As a result, the chance of selecting the first group of the same sex and the other group of the other sex is (0.5^(n-1)) * (0.5^n).
I did some testing with different variations of the formula. In your specific setup the formula (0.5^n) * (0.5^n) * 2 gives the same outcome. The caveat is in the individual chances. When you have for example a population with 40% males and 60% females, just multiplying with 2 will give you the wrong probability. Therefore working with n-1 is the right solution.
When you add the following lines of code to the code above, you can see it action:
nr$Aa <- (0.5 ^ nr$sample.size) * (0.5 ^ nr$sample.size) * 2
nr$Ab <- (0.4 ^ (nr$sample.size - 1)) * (0.6 ^ nr$sample.size)
nr$Ac <- (0.4 ^ nr$sample.size) * (0.6 ^ nr$sample.size) * 2

