How to analyse count data I have count data on bird abundance obtained from 12 locations. I have summed the abundance for each site as I have been sampling each location twice and there is no significant difference between them (I used the Wilcoxon rank-sum test). The next variable I have is the percentage of the urban landscape at each location. I want to know whether the amount of urban landscape influences abundance. I have looked into Poisson regression, but I am new to stats and I am not sure if that is the correct test, nor how to interpret its results.

*

*Poisson regression sounds fine

*summing the abundance is fine, but I wouldn't use a Wilcoxon test to decide whether or not to do it; I would decide a priori whether or not I was interested in within-site variation over time, or whether there were covariates that changed over time within sites that I wanted to account for (if you don't aggregate, then you probably need to use a mixed model with a random effect of site)

*in R (for example) you would use fitted_model <- glm(count ~ urban, data = ..., family = poisson) to run the Poisson model. anova(fitted_model) and the coefficient estimate in summary(fitted_model) will give you p-values for the effect of urban landscape (they're slightly different tests, the anova() result is slightly more reliable).

*technically both of those tests assume you have a large data set (12 is not particularly large), so you might want to use bootstrapping or a permutation test to double-check whether your results are robust

*you should definitely check for overdispersion/consider whether a negative binomial [MASS::glm.nb] (or quasi-Poisson [family = "quasipoisson"]) rather than a Poisson regression is appropriate (you might want to assume that you have overdispersion)

*the coefficient for urban gives the expected increase in the natural logarithm of the number of counts for a one-unit increase in the proportion of urban landscape. If the coefficient is small, it can be interpreted as approximately a proportional change.

*the DHARMa and performance::check_model() packages/functions are very useful for diagnostic checks.

