[R-meta] Questions about phylogenetic meta-analisys

Viechtbauer Wolfgang (SP) wolfgang.viechtbauer at maastrichtuniversity.nl
Sun Oct 1 22:50:31 CEST 2017


Please always cc the mailing list.

I took a look at the datasets you sent to me; meta.csv does not contain a variable called 'field' and the 'species' variable is actually called 'species1', but I could work around that.

Based on your example, I noticed an issue with rma.mv() which caused some checks on the 'R' argument not being run as intended. That has been fixed in the 'devel' version; see here:

http://www.metafor-project.org/doku.php/installation#development_version

Please install that and try again. When you try to fit the model, you will then get the error:

There are levels in 'species1' for which there are no rows/columns in the corresponding 'R' matrix.

As the error will tell you, h1$species contains some levels that are not represented in the 'phylo' matrix. I did a bit of checking and this appears to due to these species:

[1] Zygiella_x-notata_ott504327                  
[2] Neolamprologus_pulcher_--Daffodil--_ott311695
[3] Dugesia_sp_06_MR-2009_ott859610              

Make sure that these are also contained in 'phylo' and that the row/columnnames are spelled exactly in the same way. rma.mv() doesn't try to do some kind of fuzzy matching, but expects 1-1 matches between the levels of the variable specified via the 'random' argument and the dimension names of the corresponding matrix specified via 'R'.

By the way, 'phylo' appears to be a distance matrix (at least, the diagonal elements are all 0's, so this strongly suggests that this is what it is). But 'R' should be used to specify covariance/correlation matrices.

As for your other question: As I mentioned, the second argument is for specifying the sampling variances, not the standard errors. The sampling variances are the square of the standard errors. I don't know what you mean by 'May you provide your calculation of standard error?' Each outcome measure has a different formula for the standard errors (and hence sampling variance), so I don't know what you are asking here.

Best,
Wolfgang

-----Original Message-----
From: Rafael Rios [mailto:biorafaelrm at gmail.com] 
Sent: Thursday, 28 September, 2017 4:22
To: Viechtbauer Wolfgang (SP)
Subject: Re: Questions about phylogenetic meta-analisys

ATTACHMENT(S) REMOVED: phylo.csv | meta.csv 

Dear Wolfgang,

Thank you for the contributions. My data follows on attached. "meta.csv" is my dataset, and "phylo.csv" is the phylogenetic distance matrix. Both files were saved as CSV (MS-DOS) format.

I have another doubt. You said that I should use rma.mv(zf, sezf^2, ...). However, my advisor said that most meta-analists frequently confound standard error with variance. So, we must use rma.mv(zf, sezf, ...). Is that true? May you provide your calculation of standard error? Thank you!

Best wishes,

Rafael R. Moura.
scientia amabilis

Doutorando da Pós-graduação em Ecologia e Conservação de Recursos Naturais
Universidade Federal de Uberlândia, Uberlândia, MG, Brasil

ORCID: http://orcid.org/0000-0002-7911-4734
Currículo Lattes: http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4244908A8
Research Gate: https://www.researchgate.net/profile/Rafael_Rios_Moura2

2017-09-27 18:40 GMT-03:00 Viechtbauer Wolfgang (SP) <wolfgang.viechtbauer at maastrichtuniversity.nl>:
Dear Rafael,

First of all, 'sezf' sounds like these are standard errors. The second argument of rma.mv() (and rma()/rma.uni()) is for the *sampling variances* (the square of the standard errors). So, you should use: rma.mv(zf, sezf^2, ...).

This aside, I cannot diagnose what the problem is without a reproducible example or at least more information. Could you at least post:

unique(h1$species)
class(phylo)
dimnames(phylo)

Best,
Wolfgang

-----Original Message-----
From: Rafael Rios [mailto:biorafaelrm at gmail.com]
Sent: Wednesday, 27 September, 2017 20:49
To: r-sig-meta-analysis at r-project.org; Viechtbauer Wolfgang (SP)
Subject: Questions about phylogenetic meta-analisys

Dear Dr. Wolfgang Viechtbauer and other meta-analysists,

I am trying to conduct a phylogenetic meta-analysis using function rma.mv with the following format:

meta1=rma.mv(zf, sezf, mods= ~phylum, 
             random = list (~1|study, ~1|species, ~1|field), 
             R=list(species=phylo),
             data = h1)

Where I have a moderator (phylum) and three random variables (study, species and if it was an observational or experimental study). We included phylogenetic correlation matrix (phylo) in argument R. However, I found the following error message: "Error in R[[j]][s.levels[[j]], s.levels[[j]]] : subscript out of bounds". I also tryied to use a matrix with phylogenetic distances, but I found the same error. I hope that this e-mail finds you well.

Best wishes,

Rafael R. Moura.
scientia amabilis

Doutorando da Pós-graduação em Ecologia e Conservação de Recursos Naturais
Universidade Federal de Uberlândia, Uberlândia, MG, Brasil

ORCID: http://orcid.org/0000-0002-7911-4734
Currículo Lattes: http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4244908A8
Research Gate: https://www.researchgate.net/profile/Rafael_Rios_Moura2


More information about the R-sig-meta-analysis mailing list