In this workshop we explore the “analysis of analyses”. The first exercise will require you to make the step-by-step calculations for fixed and random effects models. The goal is to give a sense of why the two models yield different results. It would be truly wonderful if lm and lmer could take care of all the gritty calculations in a familiar setting, but it is not easy to get the correct variances using these programs. So we’ll start by going step by step. See the “Meta-analysis” tab at the R tips pages for help.


Aggressive bibs

The black throat patch or bib of male house sparrows, Passer domesticus, is called a “badge” because bib size seems to be correlated with male social status. Sanchez-Tojar et al. (2018) compiled results of published and unpublished studies that investigated the relationship between male badge size and measurements of male size, behavior and reproductive success (Meta-analysis challenges a textbook example of status signalling and demonstrates publication bias. eLife 2018;7:e37385). The data are here.

The correlation coefficient \(r\) was the effect size measuring association between bib size and these other traits. 87 estimates of the correlation between bib size and male fighting ability (“status”) are included. The study included both published and unpublished data obtained from researchers. These data are from the Supplement file “Meta4.csv” of Sanchez-Tojar et al. (2018). Most of the correlations were obtained from behavioral observations made of birds in aviaries.

  1. View the data and examine it closely. The data set is not large, but it has aspects in common with larger compilations used in meta-analyses, and raises many of the same questions. First, there are many more entries than published studies. Repeated entries from the same study represent different nearby populations, or measurements taken in different years or on different interacting groups of individuals from the same population. Often these groups are small. Can the 87 effect sizes in the table therefore be considered independent? Should we average all the values from the same population, or from the same study, before continuing? Welcome to meta-analysis.

    For the purposes of this exercise, let’s treat the 87 effect sizes as though they are independent and belong to a single fixed class. I hope this does not shock you.

  2. Create a simple scatter or “funnel” plot depicting the relationship between effect size and sample size for the house sparrow data. Include a dashed line in the plot for \(r = 0\). Does it show the expected funnel shape? Why?

  3. Statistical analysis of correlations begins by converting \(r\) to the Fisher’s \(z\)-scale. The reason is that on the \(z\)-scale, the sampling distribution for the correlation is approximately normal and the standard error is independent of \(z\). The transformed variable is indicated by the variable \(Zr\). The transformation is
    \(z = 0.5 \ln((1 + r)/(1 - r))\), or equivalently, \(z = \tanh^{-1}(r)\).

  4. A convenient feature of the Fisher \(z\) is that the approximate standard error of an estimate depends only on the sample size \(N\) (i.e., number of birds) used in each study. The squared standard error is indicated by the variable \(VZr\). The formula is \(\textrm{SE}_z=1/\sqrt{N-3}\).

Answers

# 1.
sparrow <- read.csv(url("https://www.zoology.ubc.ca/~bio501/R/data/sparrow.csv"), stringsAsFactors = FALSE)
head(sparrow)
##          paperID            study  authorID groupID year Ttri Ttri_pvalue
## 1 Andersson_1991 1991_x_Andersson Andersson  pooled 1991   NA          NA
## 2    Bokony_2006    2006_a_Bokony    Bokony       a 2006 0.90           0
## 3    Bokony_2006    2006_b_Bokony    Bokony       b 2006 0.86           0
## 4    Bokony_2010    2010_a_Bokony    Bokony       a 2010 0.80           0
## 5    Bokony_2010    2010_b_Bokony    Bokony       b 2010 0.91           0
## 6    Bokony_2010    2010_c_Bokony    Bokony       c 2010 0.68           0
##   repeatability.sim ratio prop.unknowndyads  N bib_type originalestimate
## 1                NA    NA                NA 20  visible               no
## 2             0.944  33.4              0.09  9  visible               no
## 3             0.970  40.4              0.06 10  visible               no
## 4             0.947  86.8              0.04  7  visible               no
## 5             0.964  75.2              0.29  7  visible               no
## 6             0.909  81.0              0.48  6  visible               no
##   published rawdata typeofestimate           r     Zr        VZr  id popID
## 1        no      no        Pearson  0.00000000  0.000 0.05882353 119     3
## 2       yes     yes       Spearman  0.60141160  0.695 0.16666667  39     5
## 3       yes     yes       Spearman  0.56955183  0.647 0.14285714  40     5
## 4        no     yes       Spearman -0.55367102 -0.624 0.25000000  44     5
## 5        no     yes       Spearman -0.03739773 -0.037 0.25000000  45     5
## 6        no     yes       Spearman  0.08972966  0.090 0.33333333  46     5
##   popID2 groupID2 experimental location      season interactions
## 1      3        5            0  captive nonbreeding         both
## 2      5       39            0  captive nonbreeding         both
## 3      5       40            0  captive nonbreeding         both
## 4      5       44            0  captive nonbreeding         both
## 5      5       45            0  captive nonbreeding         both
## 6      5       46            0  captive nonbreeding         both
##   interactiontype
## 1      aggressive
## 2      aggressive
## 3      aggressive
## 4             mix
## 5             mix
## 6             mix
# 2.
plot(r ~ N, data = sparrow, las = 1)
abline(0, 0)


Fixed effects meta-analysis

Under the fixed effects model, we assume that all studies in the meta-analysis share the same true effect size. The variation among the studies are assumed to result only from sampling error (i.e., chance). For the purposes of this exercise, let’s begin by fitting the fixed effects model to the sparrow data. Perhaps the fixed effects model is reasonable: the different studies were all carried out on the same species (house sparrow), and they correlated the same variables measured in similar (though not identical) ways. Fitting the fixed effects model involves calculating a weighted average of the separate correlations to yield an estimate the one true effect size.

  1. To estimate the mean effect size, we will weight each correlation according to the magnitude of its sampling variance, which takes into account the different sample sizes of the studies. Each weight is the inverse of the squared standard error. Calculate the weights for Fisher’s \(z\) for the sparrow data. The formula for the standard error is given above.

  2. Fit the model by calculating the weighted mean, \(\bar z\), of the \(z\)-transformed correlations. R will calculate a weighted mean if you ask it. The result is your estimate of the true mean effect size. In what way does it differ from the unweighted mean of the \(z\)-transformed correlations?

  3. Calculate the standard error of the weighted mean. This standard error measures uncertainty of the estimate of true effect size.

  4. Calculate an approximate 95% confidence interval for the effect size using the normal approximation.

  5. Convert your estimated mean effect size from (2) back to the untransformed correlation, to obtain the mean effect size \(\bar r\). This requires back-transforming,* \(\bar r = \tanh(\bar z)\) or, equivalently, \(\bar r = (e^{2\bar z} - 1)/(e^{2\bar z} + 1)\). Add a horizontal line indicating the mean effect size to your funnel plot created in the previous section.

  6. Apply the same back-transformation to the lower and upper limits of your confidence interval in (4) to yield the 95% confidence interval for the mean correlation coefficient.**

* 0.162
** (0.086 0.236)

Answers

# 1. Calculate weights
sparrow$w <- sparrow$N - 3

# 2. Weighted mean of z
zbar.fix <- weighted.mean(sparrow$Zr, w = sparrow$w)
zbar.fix
## [1] 0.1635484
# 3. Standard error of the weighted mean
se.fix <- sqrt(1/sum(sparrow$w))
se.fix
## [1] 0.03952847
# 4. Approximate 95% confidence interval
c(zbar.fix - se.fix*1.96, zbar.fix + se.fix*1.96)
## [1] 0.08607263 0.24102424
# 5. Back-transform effect size
tanh(zbar.fix)
## [1] 0.1621057
plot(r ~ N, data = sparrow, las = 1)
abline(0, 0)
abline(tanh(zbar.fix), 0, lty=2)

# 6. Back-transform confidence limits
tanh( c(zbar.fix - se.fix*1.96, zbar.fix + se.fix*1.96) )
## [1] 0.08586071 0.23646295


Random effects meta-analysis

Under the random effects model we assume that each study estimates a system-specific effect size. There is no “one true” effect size under this model, only a mean effect size. This is more realistic than the fixed effects model for most data in ecology and evolution. Even though each study of male bibs was carried out on the same species (house sparrow), there is nevertheless likely to be heterogeneity from population to population, year to year, and even researcher to researcher if study methods are not the same.

  1. To fit the random effects model we need to estimate the variance among the system-specific effect sizes, \(\tau^2\) (“tau squared”). One way to estimate it involves calculating the heterogeneity among the observed effect sizes (\(Q\)), and then “correcting” by subtracting the within-study sampling variance. The correction is needed because the variance among the observed effect sizes among studies is inflated by within-study sampling error. To begin, calculate \(Q\), the weighted heterogeneity among the observed \(Zr\) values.

  2. Then estimate \(\tau^2\) by subtraction, being careful not to allow a negative value (since \(\tau^2\) is a variance, which can’t be negative).*

  3. Using \(\tau^2\), calculate new weights for the effect sizes of each study under the random effects model. Examine these new weights \(w'\) and compare them to the weights \(w\) under the fixed effects model. How are they different? Is as much weight given to large-sample studies, relative to small-sample studies, in the random effects model as in the fixed effects model?

  4. Calculate the weighted mean effect size \(\bar z\) under the random effects model. The procedure is the same as that used before for the fixed effects model except that here we will use the new weights \(w'\) calculated in the previous step. Back-transform to get the estimated mean correlation \(\bar r\).** Add the estimated mean correlation to your funnel plot. Compare your result to the effect size estimated under the fixed effects model. Is it the same?

  5. Calculate the standard error (SE) of the mean \(\bar z\). The formula is the same as that in the fixed-effects model except that here we will use the new weights.

  6. Calculate the 95% confidence interval for the mean effect size under the random effects model. Is the confidence interval narrower, about the same, or wider than that calculated under the fixed effects model? Why?

  7. Finally, back-transform to get the lower and upper limits of the 95% confidence interval for the mean correlation \(\bar r\). ***

* 0.1342
** 0.1513
*** (0.0224 0.2752)

Answers

# 1. Calculate $Q$
Q <- sum(sparrow$w * (sparrow$Zr- zbar.fix)^2)
Q
## [1] 169.3522
# 2. Calculate tau^2
if (Q <= (nrow(sparrow) - 1)) tau.sq <- 0 else
    tau.sq <- (Q - (nrow(sparrow) - 1))/(sum(sparrow$w) - sum(sparrow$w^2)/sum(sparrow$w))
tau.sq
## [1] 0.1342367
# 3. Random effects weights
sparrow$w.ran <- 1/(sparrow$VZr + tau.sq)

# 4. Weighted mean effect size
zbar.ran <- weighted.mean(sparrow$Zr, w = sparrow$w.ran)
zbar.ran
## [1] 0.1524359
tanh(zbar.ran)
## [1] 0.1512661
# 5. SE of zbar
se.ran <- sqrt(1/sum(sparrow$w.ran))
se.ran
## [1] 0.0663553
# 6. Calculate 95% confidence interval
c(zbar.ran - se.ran*1.96, zbar.ran + se.ran*1.96)
## [1] 0.02237953 0.28249229
# 7. Back-transform limits
tanh( c(zbar.ran - se.ran*1.96, zbar.ran + se.ran*1.96) )
## [1] 0.02237579 0.27521018


Publication bias?

Use the metafor package to examine and compare correlations from published and unpublished studies.

  1. To begin, use the package to recalculate the quantities that you obtained “by hand” in the above random effects meta-analysis. Analyze the quantities on the Fisher-transformed (\(z\)) scale (You’ll have to back-transform to obtain the results on the \(r\) scale). Did you get the same results? So much easier!

  2. Redo the above analysis but use the restricted maximum likelihood estimates instead (the default) from now on.

  3. Produce a funnel plot of the data.

  4. Produce a forest plot of the data.

  5. Fit a meta-analysis model that includes the moderator variable “publication”. Use the summary command to estimate the difference between the means for published and unpublished studies. (Note that these values are computed on the z-transformed scale.) Do published and unpublished studies yield different results?

Answers

library(metafor)

# 1. Random effects meta-analysis
z <- rma.uni(Zr ~ 1, vi = VZr, data = sparrow, method = "DL")
summary(z)
## 
## Random-Effects Model (k = 87; tau^2 estimator: DL)
## 
##   logLik  deviance       AIC       BIC      AICc   
## -98.8443  141.5693  201.6887  206.6205  201.8315   
## 
## tau^2 (estimated amount of total heterogeneity): 0.1342 (SE = 0.0489)
## tau (square root of estimated tau^2 value):      0.3664
## I^2 (total heterogeneity / total variability):   49.22%
## H^2 (total variability / sampling variability):  1.97
## 
## Test for Heterogeneity:
## Q(df = 86) = 169.3522, p-val < .0001
## 
## Model Results:
## 
## estimate      se    zval    pval   ci.lb   ci.ub    
##   0.1524  0.0664  2.2973  0.0216  0.0224  0.2825  * 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# 2. Redo using REML
z <- rma.uni(Zr ~ 1, vi = VZr, data = sparrow)
summary(z)
## 
## Random-Effects Model (k = 87; tau^2 estimator: REML)
## 
##   logLik  deviance       AIC       BIC      AICc   
## -98.3627  196.7254  200.7254  205.6341  200.8700   
## 
## tau^2 (estimated amount of total heterogeneity): 0.1498 (SE = 0.0509)
## tau (square root of estimated tau^2 value):      0.3871
## I^2 (total heterogeneity / total variability):   51.96%
## H^2 (total variability / sampling variability):  2.08
## 
## Test for Heterogeneity:
## Q(df = 86) = 169.3522, p-val < .0001
## 
## Model Results:
## 
## estimate      se    zval    pval   ci.lb   ci.ub    
##   0.1516  0.0684  2.2175  0.0266  0.0176  0.2856  * 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# 3. Funnel plot
funnel(z, addtau2 = TRUE)

# 4. Produce a forest plot of the data.
forest(z, slab = sparrow$paperID)

# 5. Fit to publication state
table(sparrow$published)
## 
##  no yes 
##  34  53
z <- rma.uni(Zr ~ published, vi = VZr, data = sparrow)
summary(z)
## 
## Mixed-Effects Model (k = 87; tau^2 estimator: REML)
## 
##   logLik  deviance       AIC       BIC      AICc   
## -92.0745  184.1491  190.1491  197.4770  190.4454   
## 
## tau^2 (estimated amount of residual heterogeneity):     0.0715 (SE = 0.0332)
## tau (square root of estimated tau^2 value):             0.2674
## I^2 (residual heterogeneity / unaccounted variability): 33.61%
## H^2 (unaccounted variability / sampling variability):   1.51
## R^2 (amount of heterogeneity accounted for):            52.29%
## 
## Test for Residual Heterogeneity:
## QE(df = 85) = 137.0156, p-val = 0.0003
## 
## Test of Moderators (coefficient 2):
## QM(df = 1) = 15.3274, p-val < .0001
## 
## Model Results:
## 
##               estimate      se     zval    pval    ci.lb   ci.ub      
## intrcpt        -0.0528  0.0779  -0.6784  0.4975  -0.2055  0.0998      
## publishedyes    0.4459  0.1139   3.9150  <.0001   0.2227  0.6692  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Latitudinal diversity gradient

There are more species in the tropics than in the temperate zone, but how strong and how general is this pattern? The latitudinal gradient is steeper for some taxa than for others, and may even be reversed in some groups. It may also vary longitudinally and between the northern and southern hemispheres. There is no consensus on the causes of the latitudinal gradient in species diversity.

Hillebrand (2004; On the generality of the latitudinal diversity gradient. American Naturalist 163:192-211) combed the literature for studies that measured the relationship between diversity and latitude. His database is HERE. Download and read into R. The data file was obtained from Table A1 in Hillebrand (2004).

Inspect the variables in the Hillebrand data set. They include measures of the latitudinal gradient and some grouping variables that will allow us to compare the gradient between situations. His Table B2 explains the various grouping variables. For this exercise, we’ll focus on the estimate from each study of the steepness of the relationship between species diversity and latitude, described by the variables:

Slope.b: The regression slope of the relationship between species diversity and absolute latitude, per degree latitude. A negative slope implies that diversity declines with increasing latitude (from the equator to the poles), whereas a positive slope represents a reversed gradient.

SE.b: The associated standard error of slope.

Measure: The measure of species diversity used in the calculation of regression slope. The most frequent is S, simply species richness (number of species), but studies using other metrics were also included. See Table B2 in the original article for details.

N: The number of sample points used to calculate the slope.

Use the metafor package to examine and compare latitudinal gradients. See the “Meta” tab at the R tips web site for help.

  1. Retain only those studies having a non-missing value for the slope variable, and for which the measure of species diversity is species richness. How many estimates of slope (latitudinal gradients) are included in this data set* ? From how many unique studies are these estimates obtained (as indicated by the variable “Source”)* ? How many unique types of organisms are included, according to the variable “Organisms”* ? What do these numbers indicate about the likelihood that the many estimates of slope included in the meta-analysis represent an independent sample of estimates from nature?

  2. Produce a funnel plot of the relationship between the effect size (slope) and its standard error. You’ll notice that there are some crazy outliers, and I have confirmed from the source that at least one is a mistake. For the purposes of this exercise, retain only those studies having an absolute value of slope less than 40. An estimated rate of change in species diversity of more than 40 species per degree latitude seems a bit unrealistic.

  3. Is the mean slope of the latitudinal gradient positive or negative? Use the metafor package and the REML method to find out**. Should you use the fixed effects or the random effects model? Why? Does your answer agree with the conventional picture of the latitudinal gradient? Note that the confidence interval assumes a normal distribution of effect sizes, so you should take these upper and lower limits with the appropriate degree of skepticism.

  4. Would you expect homeotherms or ectotherms to have a steeper average latitudinal gradient? Analyze the Hillebrand data set to find out. Start by making a table of the frequencies of cases in each category of the variable “Thermoregulation”. When fitting the meta-analysis model, leave out the two cases whose thermoregulation state is blank. Did the answer agree with your expectation?

  5. Is the mean latitudinal gradient in species diversity steepest in marine, terrestrial, or freshwater realms? Leave out the category “Aquatic”, which is ambiguous.

  6. Is the mean latitudinal gradient in species diversity steeper in the northern or southern hemisphere?

* 385; 175; 134. The 385 estimates are unlikely to represent a random sample of estimates from nature.
** -1.8025. On average, species richness drops about 1.8 species per degree latitude. You should use the random effects model, because each taxon is expected to have a different “true” mean latitudinal gradient.

Answers

library(metafor)

# 1. Read and filter
x <- read.csv(url("https://www.zoology.ubc.ca/~bio501/R/data/hillebrand.csv"), 
        stringsAsFactors = FALSE)
head(x)
##                                 Source              Reference Organisms
## 1                           Abele 1974     Ecology 55:156-161  Decapods
## 2                           Abele 1974     Ecology 55:156-161  Decapods
## 3 Abensperg\x89ېTraun and Stevens 1997 Aust J Ecol 22:471-476  Termites
## 4                           Angel 1993 Conserv Biol 7:760-772  Decapods
## 5                           Angel 1993 Conserv Biol 7:760-772      Fish
## 6                           Angel 1993 Conserv Biol 7:760-772 Ostracods
##   Thermoregulation Log.body.mass Dispersal.type Trophic.position       Realm
## 1             Ecto         -0.65 Pelagic larvae        Omnivores      Marine
## 2             Ecto         -0.65 Pelagic larvae        Omnivores      Marine
## 3             Ecto         -2.30         Flying       Herbivores Terrestrial
## 4             Ecto         -0.65 Pelagic larvae        Omnivores      Marine
## 5             Ecto          2.43       Mobility        Omnivores      Marine
## 6             Ecto         -4.20 Pelagic larvae        Omnivores      Marine
##      Habitat.type Hemisphere   Longitude    Scale Grain.log.area.kmsq
## 1 Benthos coastal          N    Atlantic    Local               -4.00
## 2 Benthos coastal          N    Atlantic    Local               -4.00
## 3 All terrestrial          S Australasia Regional                4.91
## 4   Pelagic ocean          N    Atlantic Regional                  NA
## 5   Pelagic ocean          N    Atlantic Regional                  NA
## 6   Pelagic ocean          N    Atlantic Regional                  NA
##   Diversity.type Range Significance Global.richness.log.S Measure   N Slope.b
## 1          Alpha    20           No                  3.92       S  10   -0.95
## 2          Alpha    20           No                  3.92   Index  10   -0.02
## 3         Ranges    35          Yes                  3.42       S 137   -0.61
## 4          Alpha    49          Yes                  3.92       S   6   -0.58
## 5          Alpha    49          Yes                  4.40       S   6   -1.71
## 6          Alpha    56          Yes                  3.90       S   7   -0.94
##   SE.b Intercept    rz Var.rz
## 1 0.87     45.93 -0.37   0.14
## 2 0.01      1.23 -0.44   0.14
## 3 0.16     36.75 -0.32   0.01
## 4 0.15     56.52 -1.40   0.33
## 5 0.36    167.37 -1.61   0.33
## 6 0.24     91.61 -1.31   0.25
x <- x[!is.na(x$Slope.b), ]
x <- x[x$Measure == "S", ]
nrow(x)
## [1] 385
length(unique(x$Source))
## [1] 175
length(unique(x$Organisms))
## [1] 134
# 2. Funnel plot
plot(Slope.b ~ SE.b, data = x, las = 1)

x <- subset(x, abs(Slope.b) <= 40 & SE.b < 200)
plot(Slope.b ~ SE.b, data = x, las = 1)

# 3. Mean slope
z <- rma.uni(Slope.b ~ 1, vi = SE.b^2, data=x)
summary(z)
## 
## Random-Effects Model (k = 367; tau^2 estimator: REML)
## 
##    logLik   deviance        AIC        BIC       AICc   
## -979.4958  1958.9915  1962.9915  1970.7968  1963.0246   
## 
## tau^2 (estimated amount of total heterogeneity): 7.5389 (SE = 0.6114)
## tau (square root of estimated tau^2 value):      2.7457
## I^2 (total heterogeneity / total variability):   99.93%
## H^2 (total variability / sampling variability):  1446.71
## 
## Test for Heterogeneity:
## Q(df = 366) = 17951.2050, p-val < .0001
## 
## Model Results:
## 
## estimate      se      zval    pval    ci.lb    ci.ub      
##  -1.8025  0.1527  -11.8063  <.0001  -2.1018  -1.5033  *** 
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# 4. Homeotherms vs ectotherms
table(x$Thermoregulation)
## 
##        Ecto Homeo 
##     2   281    84
z <- rma.uni(Slope.b ~ Thermoregulation, vi = SE.b^2, data=x, subset = Thermoregulation !="")
## Warning: Redundant predictors dropped from the model.
summary(z)
## 
## Mixed-Effects Model (k = 365; tau^2 estimator: REML)
## 
##    logLik   deviance        AIC        BIC       AICc   
## -955.6189  1911.2378  1917.2378  1928.9210  1917.3046   
## 
## tau^2 (estimated amount of residual heterogeneity):     7.0866 (SE = 0.5779)
## tau (square root of estimated tau^2 value):             2.6621
## I^2 (residual heterogeneity / unaccounted variability): 99.93%
## H^2 (unaccounted variability / sampling variability):   1335.71
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 363) = 17309.5696, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## QM(df = 1) = 0.7861, p-val = 0.3753
## 
## Model Results:
## 
##                       estimate      se     zval    pval    ci.lb    ci.ub      
## intrcpt                -1.9836  0.3056  -6.4902  <.0001  -2.5826  -1.3845  *** 
## ThermoregulationEcto    0.3101  0.3497   0.8866  0.3753  -0.3754   0.9956      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# 5. Marine vs terrestrial vs freshwater
table(x$Realm)
## 
##     Aquatic  Freshwater      Marine Terrestrial 
##           2          42         129         194
z <- rma.uni(Slope.b ~ Realm, vi = SE.b^2, data=x, subset = Realm != "Aquatic")
## Warning: Redundant predictors dropped from the model.
summary(z)
## 
## Mixed-Effects Model (k = 365; tau^2 estimator: REML)
## 
##    logLik   deviance        AIC        BIC       AICc   
## -963.3399  1926.6797  1934.6797  1950.2463  1934.7917   
## 
## tau^2 (estimated amount of residual heterogeneity):     7.2919 (SE = 0.5940)
## tau (square root of estimated tau^2 value):             2.7003
## I^2 (residual heterogeneity / unaccounted variability): 99.92%
## H^2 (unaccounted variability / sampling variability):   1322.11
## R^2 (amount of heterogeneity accounted for):            3.40%
## 
## Test for Residual Heterogeneity:
## QE(df = 362) = 17529.3017, p-val < .0001
## 
## Test of Moderators (coefficients 2:3):
## QM(df = 2) = 12.8652, p-val = 0.0016
## 
## Model Results:
## 
##                  estimate      se     zval    pval    ci.lb    ci.ub      
## intrcpt           -1.9612  0.2073  -9.4629  <.0001  -2.3674  -1.5550  *** 
## RealmFreshwater    1.5916  0.4742   3.3562  0.0008   0.6621   2.5210  *** 
## RealmMarine       -0.0951  0.3281  -0.2898  0.7720  -0.7382   0.5481      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# 6. Northern vs southern hemisphere
table(x$Hemisphere)
## 
##      Both    N    S 
##    2   30  217  118
z <- rma.uni(Slope.b ~ Hemisphere, vi = SE.b^2, data=x, 
      subset = Hemisphere != "" & Hemisphere != "Both")
## Warning: Redundant predictors dropped from the model.
summary(z)
## 
## Mixed-Effects Model (k = 335; tau^2 estimator: REML)
## 
##    logLik   deviance        AIC        BIC       AICc   
## -889.1645  1778.3290  1784.3290  1795.7534  1784.4019   
## 
## tau^2 (estimated amount of residual heterogeneity):     7.8590 (SE = 0.6614)
## tau (square root of estimated tau^2 value):             2.8034
## I^2 (residual heterogeneity / unaccounted variability): 99.93%
## H^2 (unaccounted variability / sampling variability):   1473.92
## R^2 (amount of heterogeneity accounted for):            0.00%
## 
## Test for Residual Heterogeneity:
## QE(df = 333) = 16386.2854, p-val < .0001
## 
## Test of Moderators (coefficient 2):
## QM(df = 1) = 0.7904, p-val = 0.3740
## 
## Model Results:
## 
##              estimate      se     zval    pval    ci.lb    ci.ub      
## intrcpt       -1.6439  0.2726  -6.0309  <.0001  -2.1781  -1.1096  *** 
## HemisphereN   -0.3011  0.3387  -0.8891  0.3740  -0.9650   0.3627      
## 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
 

© 2009-2024 Dolph Schluter