Combining $\chi^{2}$ tests I have a problem with statistics. I'm looking at whether variation in the concentration of a certain substance affects how strongly insects are drawn towards it. I did this by baiting insect traps with the substance in different concentrations. I spread the traps out as pairs with the traps in the pair having different concentrations. Now the data I have looks a bit like this:
More : Less
   6 : 0  
   1 : 0   
   3 : 1  
   1 : 0  
  15 : 3  

What I need to do is to show that insects prefer higher concentrations of bait. 
Pooling the data and using $\chi^{2}$ is an option, but I don't know if it's the best option. Trapping was done in various locations during one month so there might be perturbation factors involved.
Thanks in advance!
EDIT:
That is only a small portion of my full data. In total I have around 40 pairs of values to compare and around 300 insects caught. That is just a small, but representative portion.
 A: If the traps were all considered independent then this isn't a variation on a  $\chi^2$ test, it just is one. But because they're used in pairs, and therefore not independent, then what you're looking for would be a variation on a McNemar's test. Unfortunately, any modification of that test for more than a 2x2 matrix will still suffer because you have such small numbers of items in the Less column.
Your effect is so strong I'd be tempted to just report the data. What's wrong with that? When the data are very strong and there's little to no noise in the effect then it's hard to see why you wouldn't just report what you found and state it as fact. Statistics aren't as powerful as you think and don't really make this compelling data story any better. I fear they'd just be used to hide the small sample problem.
If you really, really want a probability then resampling is probably your best bet here. You could perform a permutation or randomization test. Calculate the mean difference between your More and Less conditions. Then scramble up the samples randomly, maintaining your pairing, and calculate new mean differences. Do that on a computer thousands of times and figure out where the difference you found falls in the distribution of differences you sampled. The probability of an effect that large or larger will be your p-value to report.
Here's some base R that does it.
dat <- matrix(c(6, 1, 3, 1, 15, 0, 0, 1, 0, 3), ncol = 2)
n <- nrow(dat)
eff <- diff( colSums(dat) )
samps <- rowSums(dat)
nsamp <- 5000

# bootstrap nsamp replications of your experiment
y <- replicate(nsamp, {
    # get a random amount for each location and put it in the more trap
    more <- sapply(1:n, function(i) {sample(samps[i]+1, 1) - 1})
    # of course, the rest is in the less trap
    less <- samps - more
    # calculate effect (less - more might be backwards of what you want 
    # but it's what the diff command did above for the original effect so 
    #we keep calculating in the same direction
    sum(less) - sum(more)
    })
# two sided p-value
sum(y < eff | y > -eff) / nsamp

That p-value is a probability of data coming out with an effect as large, or larger, than the one you got given the null hypothesis, and an assumption of a representative sample (always implicit). Think about it as considering what would happen if the null was true. The traps would just randomly catch insects. Imagine you caught as many insects as you did, in as many locations, and then see how that distribution appears at random across the traps. If the effect you had was unlikely to occur when the null was true then we conclude the null was not.
Alternatively, one could sample the distribution of effects with replacement. By doing this one can bootstrap a confidence interval of the effect.
# get each separate effect
effs <- dat[,2] - dat[,1] 
nsamp <- 1000    
# bootstrap nsamp replications of your experiment
y <- replicate(nsamp, {
    # randomly sample from the distribution of effects
    effSamp <- sample(effs, replace = TRUE)
    # get total sample effect
    sum(effSamp)
    })
    # get y into order so we can get the distribution cutoffs
y <- sort(y)
# 95% CI
y[0.025 * nsamp]; y[0.975 * nsamp]

