I want to know if a proportion increased significantly after an event, and then find out if that holds true over multiple events. I'm using a paired t-test to measure this with continuous data (e.g. mass), but I don't think I can use that to test for a proportion.

For example, I'm interested in the proportion of identified insect species (range 14-56) that is migratory (range 2-15) in 94 almost-daily samples of insect DNA extracted from bat feces, examined before and after 39 cold fronts that occurred during the sampling period. The insects migrate on favorable winds after cold fronts, and I'm testing whether bats eat more migratory insects directly after a cold front than on other sampling days. Here's a sample of the data.

structure(list(migr = c(5, 6, 2, 6, 8, 7, 10, 4, 7, 9, 8, 10, 
8, 13), spp = c(26, 31, 26, 30, 35, 44, 35, 32, 43, 30, 38, 39, 
49, 49), front = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0)), class = "data.frame", row.names = c(NA, 
-14L), .Names = c("migr", "spp", "front"))

I'm using R, and there does not seem to be a function that does what I need. I can compare two proportions (prop.test), but not a series of proportions a'la paired t-test. I looked at the function pairwise.prop.test but it does a subtly different test, comparing multiple percentages instead of multiple pairs of percentages. It seems odd that I would need to use meta-analysis tools when I have the original data.

If I must use meta-analysis tools to aggregate p-values, how do I determine the appropriate function to use? Thanks to the link to the metap package, but there are many options (including the sum of logs method which was suggested to me earlier).

  • $\begingroup$ Welcome to our site! When you write things like qchisq or pairwise.prop.test it seems you are assuming everyone is using the same statistical software as you. But in fact your question is generally not software-specific (apart from asking whether a wrapping function is available - which is off-topic here anyway, see our help center). So I think it would be better to edit your question to replace references to commands in your software by the actual statistical term that you mean. $\endgroup$
    – Silverfish
    Aug 11, 2016 at 22:01
  • $\begingroup$ @J. Krauel Can you comment further on how your measurement is made? I'm envisioning the following: Some form of survey is taken in the same geographic location almost every day. Each time a measurement is taken, the number of migratory and non-migratory species are noted for a day. Migratory/all species is the proportion of interest. In your results, do you have paired data of one measurement before and one after a cold front? I'm noting 94 samples for 39 fronts, suggesting that more measurements were likely made under one condition and perhaps not paired with the other condition. $\endgroup$
    – Todd D
    Aug 12, 2016 at 4:50
  • $\begingroup$ In general terms, you can always build a GLM model which encompasses the stratified design (ie multiple samples) and the different type of outcome (eg binary vs continuous). This leads to a typically robust 'meta-analytic' estimate. It could be helpful, though, if you provide a few rows of your dataset for the careful reader. $\endgroup$ Aug 12, 2016 at 9:22
  • $\begingroup$ Thanks for the feedback. I edited the text to hopefully clarify what I am looking for. $\endgroup$
    – J. Krauel
    Aug 12, 2016 at 16:25

1 Answer 1


In answer to the part of your question about combining $p$-values, yes someone has written a function to do it. In fact several people have written different packages (including me). The CRAN Task View on MetaAnalysis has a section on this as well as all the sections on general meta-analysis. Disclaimer - I maintain the Task View.

Having said that I would regard combining $p$-values as a last resort for situations where you cannot do either a full overall analysis or at least a meta-analysis of summary statistics.

For more information about combining see this discussion which will lead you to this answer


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.