Hi all -
Just a quick note to say that I tracked this down as a bug in GEIGER. The bug
is specific to using Wilks lambda for a MANOVA test statistic, and results
from the fact that the scale of Wilks lambda is reversed compared to other
test statistics (e.g. smaller values = more difference among groups).
I have updated geiger on github, and we will post this update to CRAN as soon
as we can. In the meantime, a fixed version of the function is pasted below.
Luke Harmon
aov.phylo=function(formula, phy, nsim=1000, test=c("Wilks", "Pillai",
"Hotelling-Lawley", "Roy"), ...){
xx=lapply(all.vars(formula), get)
flag="'formula' must be of the form 'dat~group', where 'group' is a named
factor vector and 'dat' is a data matrix or named vector"
if(!is.factor(xx[[2]])) stop(flag)
if(is.null(names(xx[[2]]))) stop(flag)
yy=merge(xx[[1]], xx[[2]], by=0)
if(nrow(yy)==0) stop(flag)
rownames(yy)=yy[,1]
yy=yy[,-1]
tmp<-treedata(phy, yy, sort=TRUE)
phy=tmp$phy
yy=yy[phy$tip.label,]
group=structure(yy[,ncol(yy)], names=rownames(yy))
dat=as.matrix(yy[,-ncol(yy)])
rownames(dat)=rownames(yy)
s<-ratematrix(phy, dat)
multivar=ifelse(ncol(dat)>1, TRUE, FALSE)
if(multivar){
test=match.arg(test, c("Wilks", "Pillai", "Hotelling-Lawley", "Roy"))
m=summary.manova(mod<-manova(dat~group), test=test)
f.data=m[[4]][1,2]
FUN=function(xx) summary.manova(manova(as.matrix(xx)~group),
test=test)[[4]][1,2]
sims<-sim.char(phy, s, nsim=nsim)
f.null<-apply(sims, 3, FUN)
out=as.data.frame(m[[4]])
attr(out, "heading")=c("Multivariate Analysis of Variance
Table\n","Response: dat")
} else {
test=NULL
m=anova(mod<-lm(dat~group))
f.data<-m[1,4]
FUN=function(xx) anova(lm(xx~group))[1,4]
out=as.data.frame(m)
}
colnames(out)=gsub(" ", "-", colnames(out))
sims<-sim.char(phy, s, nsim=nsim)
f.null<-apply(sims, 3, FUN)
if(test=="Wilks") {
p.phylo = (sum(f.null < f.data) + 1)/(nsim + 1)
} else {
p.phylo = (sum(f.null > f.data) + 1)/(nsim + 1)
}
out$'Pr(phy)'=c(p.phylo, NA)
class(out) <- c("anova", "data.frame")
print(out, ...)
attr(mod, "summary")=out
return(mod)
}
On Mar 6, 2014, at 11:54 AM, Anna Kostikova <[email protected]> wrote:
> Absolutely agree, but typically such effect (at least in multiple regression)
> could be a result of multicollinearity, that's why I still proposed to check
> PCs to make sure there is nothing unusual about them.
>
> Anna
>
>
>
>> On 6 Mar 2014, at 20:35, Paolo Piras <[email protected]> wrote:
>>
>> PCscores coming from the same PCA are independent (orthogonal) by definition
>> best
>> paolo
>>
>>
>> ________________________________________
>> Da: [email protected] <[email protected]>
>> per conto di Anna Kostikova <[email protected]>
>> Inviato: giovedì 6 marzo 2014 20.37
>> A: Frédérich Bruno
>> Cc: [email protected]
>> Oggetto: Re: [R-sig-phylo] phylogenetic MANOVA
>>
>> Hello Bruno,
>>
>> Could you check how much your individual PCs are correlated with each other?
>> What you see might be a result of (high) multicollinearity (negative or
>> positive) between predictors.
>>
>> Cheers,
>> Anna
>>
>>
>>> On 6 Mar 2014, at 17:19, Frédérich Bruno <[email protected]> wrote:
>>>
>>> Dear All,
>>>
>>> I am exploring body shape variation in a fish family, using shape variables
>>> generated by landmark-based geometric morphometrics. To test shape
>>> divergence among ecomorphs, I would like to perform a phylogenetic MANOVA.
>>>
>>> To perform such a test, the function aov.phylo in geiger is available.
>>> However, I think I have some troubles with it...
>>>
>>> Indeed, firstly, I performed phylo ANOVAs using phylANOVA function in
>>> phytools on the three first PCs (explaining more than 70% of shape
>>> variation) of my shape dataset and found highly significant differences
>>> among ecomorphs for PC2 and PC3.
>>>
>>> Then, I applied a phylo MANOVA using aov.phylo including all the shape
>>> variables and got a non-significant result (P-value = 1).
>>>
>>> So, according to my expectations and the univariate results from
>>> phylANOVAs, the results of phylo MANOVA seems a little bit strange to me...
>>>
>>> Do someone have an explanation?
>>> Do you know another function than aov.phylo to perform a phyloMANOVA? (for
>>> comparisons)
>>>
>>> Thank you in advance for your advices and your help!
>>>
>>> Best,
>>>
>>> Bruno
>>>
>>> --
>>> Dr. Bruno Frédérich
>>> Postdoctoral Researcher F.R.S.-FNRS
>>> Lab. of Functional and Evolutionary Morphology
>>> University of Liège, Institut de Chimie (B6c)
>>> 4000 Liège, BELGIUM
>>>
>>> Phone: 003243665133
>>> Fax: 003243663715
>>> E-mail: [email protected]
>>> Website: http://www2.ulg.ac.be/morfonct/
>>> ----------------------------------------
>>> Open Repository and Bibliography (ORBi) http://orbi.ulg.ac.be/
>>> Personal Publications (Open Access) http://tinyurl.com/Bruno-Reef
>>>
>>>
>>> [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> R-sig-phylo mailing list - [email protected]
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
>>> Searchable archive at http://www.mail-archive.com/[email protected]/
>>
>> _______________________________________________
>> R-sig-phylo mailing list - [email protected]
>> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
>> Searchable archive at http://www.mail-archive.com/[email protected]/
>>
>
> _______________________________________________
> R-sig-phylo mailing list - [email protected]
> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
> Searchable archive at http://www.mail-archive.com/[email protected]/
Luke Harmon
Associate Professor
Biological Sciences
University of Idaho
208-885-0346
[email protected]
[[alternative HTML version deleted]]
_______________________________________________
R-sig-phylo mailing list - [email protected]
https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
Searchable archive at http://www.mail-archive.com/[email protected]/