----- Forwarded message from Dean
Adams <[email protected]> -----
Date: Mon, 15 Apr 2013
10:11:06 -0400
From: Dean Adams <[email protected]>
Reply-To: Dean Adams <[email protected]>
Subject: Re:
multi-variate PGLS with GMM
To:
[email protected]
Blake,
Yes, one can account for phylogenetic non-independence while performing MANOVA or MANCOVA on shape variables. An early example is in Ruber and Adams 2001 (J. Evol. Biol.). That analysis was implemented in NTSYS.
One could also implement this in R. The standard approach is the use the 'gls' function, and provide it the correlation structure as specified by a phylogenetic covariance matrix. A univariate example is: summary(gls(Y~X, correlation=my.phy.cor))
Unfortunately, one cannot do the equivalent for multivariate data (summary(manova(gls ...))) because the 'manova' function in R does not utilize the correlation structure even if it provided. Thus, the phylogenetic and non-phylogenetic GLS yield the same numerical results.
To properly implement multivariate PGLS in R, one must first transform the X and Y data by the phylogeny under a Brownian motion model, using the phylogenetic transform procedure in Garland and Ives (2000). Then a standard multivariate MANCOVA may be used. I have written R code for this, which is in the supplemental material of a paper currently in press at Evolutionary Biology. The function is found below, along with the citation.
In your specific case, the input X-matrix would contain a column of ones, the ecological variables, and body size. Note that you must have more species than shape-dimensions for the algebra of this procedure to be completed. Also, one should rotate the aligned Procrustes coordinates to their principal component dimensions and eliminate the redundant dimensions due to superimposition to avoid singularities in the MANOVA procedure (7 in your case if you have a set of fixed, 3D landmarks).
Hope this helps.
Dean
Outomuro, D., D.C. Adams, and F. Johansson. 2013. Evolution of wing shape in ornamented-winged damselflies. Evolutionary Biology. (In Press).
##MULTIVARIATE PLGS FUNCTION: DC Adams. 2013
mult.pgls<-function(phy,y.mat,x.mat){
phy.mat<-vcv(phy)
x.mat<-cbind(matrix(1,length(phy$tip.label)),x.mat)
x.mat<-x.mat[rownames(phy.mat),]
y.mat<-y.mat[rownames(phy.mat),]
mDnew<-solve(svd(phy.mat)$u%*%diag(sqrt(svd(phy.mat)$d))%*%t(svd(phy.mat)$u))
ynew<-mDnew %*% y.mat
xnew<-mDnew %*% x.mat
summary=summary(manova(lm(ynew~xnew-1)))
return(list(summary=summary))
}
Yes, one can account for phylogenetic non-independence while performing MANOVA or MANCOVA on shape variables. An early example is in Ruber and Adams 2001 (J. Evol. Biol.). That analysis was implemented in NTSYS.
One could also implement this in R. The standard approach is the use the 'gls' function, and provide it the correlation structure as specified by a phylogenetic covariance matrix. A univariate example is: summary(gls(Y~X, correlation=my.phy.cor))
Unfortunately, one cannot do the equivalent for multivariate data (summary(manova(gls ...))) because the 'manova' function in R does not utilize the correlation structure even if it provided. Thus, the phylogenetic and non-phylogenetic GLS yield the same numerical results.
To properly implement multivariate PGLS in R, one must first transform the X and Y data by the phylogeny under a Brownian motion model, using the phylogenetic transform procedure in Garland and Ives (2000). Then a standard multivariate MANCOVA may be used. I have written R code for this, which is in the supplemental material of a paper currently in press at Evolutionary Biology. The function is found below, along with the citation.
In your specific case, the input X-matrix would contain a column of ones, the ecological variables, and body size. Note that you must have more species than shape-dimensions for the algebra of this procedure to be completed. Also, one should rotate the aligned Procrustes coordinates to their principal component dimensions and eliminate the redundant dimensions due to superimposition to avoid singularities in the MANOVA procedure (7 in your case if you have a set of fixed, 3D landmarks).
Hope this helps.
Dean
-- Dr. Dean C. Adams Professor Department of Ecology, Evolution, and Organismal Biology Department of Statistics Iowa State University Ames, Iowa 50011 www.public.iastate.edu/~dcadams/ phone: 515-294-3834
Outomuro, D., D.C. Adams, and F. Johansson. 2013. Evolution of wing shape in ornamented-winged damselflies. Evolutionary Biology. (In Press).
##MULTIVARIATE PLGS FUNCTION: DC Adams. 2013
mult.pgls<-function(phy,y.mat,x.mat){
phy.mat<-vcv(phy)
x.mat<-cbind(matrix(1,length(phy$tip.label)),x.mat)
x.mat<-x.mat[rownames(phy.mat),]
y.mat<-y.mat[rownames(phy.mat),]
mDnew<-solve(svd(phy.mat)$u%*%diag(sqrt(svd(phy.mat)$d))%*%t(svd(phy.mat)$u))
ynew<-mDnew %*% y.mat
xnew<-mDnew %*% x.mat
summary=summary(manova(lm(ynew~xnew-1)))
return(list(summary=summary))
}
On 4/12/2013 11:23 PM,
[email protected] wrote:
----- Forwarded message from Blake Dickson <[email protected]> -----Date: Thu, 11 Apr 2013 00:58:04 -0400 From: Blake Dickson <[email protected]> Reply-To: Blake Dickson <[email protected]> Subject: multi-variate PGLS with GMM To: "[email protected]" Hi All, I have a set of 3D procrustes co-ordinates for a bunch of taxa I would like to test against ecological characteristics. I am wondering whether it is possible to perform a multivariate PGLS - controlling for both phylogeny and body size, and if so what is the best way to go about it. Cheers, Blake Blake Dickson, School of BEES University of New South Wales, NSW, Australia [email protected] ----- End forwarded message -----
----- End forwarded message
-----
