Hello,
I am trying to carry out a phylogenetic autoregression to test whether my
data show a phylogenetic signal, but I keep calculating bizzare R-squared
values.
My script is:
> library(ape)
> x <-
"((((((((R:1,GK:1)d:1,(MW:1,G:1)n:1)a:1,SPW:1)a:1,WB:1)b:1,(((SPBF:1,PBF:1)n:1,(HBF:1,SWF:1)c:1)i:1,(PE:1,((P:1,C:1)w:1,(MF:1,HF:1)l:1)b:1)c:1)x:1)a:1,((((((CHB:1,AD:1)a:1,BA:1,SSB:1)i:1,(HB:1,SB:1)b:1)x:1,SC:1)x:1,((BRH:1,PH:1)e:1,(WLH:1,GH:1)b:1)d:1)x:1,DBF:1)a:1)a:1,((WW:1,(OT:1,SW:1)v:1)b:1,B:1)z:1)a:1,((DS:1,GS:1)j:1,(SSS:1,LS:1,(ES:1,SS:1)a:1)b:1)e:1)a;"
> treeX <- read.tree(text=x)
> treeX <- compute.brlen(treeX, method = "Grafen")
> data <- c(4.854185, 6.008532, 6.221286, 4.369945, 10.044475,
5.801292, 5.128374, 5.540995, 4.566704, 10.188250, 7.121077,
4.469329, 4.815972, 7.798617, 5.892205, 4.853027, 5.080509,
7.982360, 7.518022, 5.675702, 11.989929, 6.760587, 7.433313,
7.906303, 7.235088, 7.131338, 5.582816, 6.769775, 11.886225, 5.589256,
5.626147, 4.714369, 6.040151, 9.098583, 5.194043, 8.830687, 6.231105)
> species <- c( "AD", "B", "BA", "BRH" , "C", "CHB", "DBF",
"DS", "ES", "G", "GH", "GK", "GS", "HB", "HBF", "HF",
"LS", "MF", "MW", "OT", "P", "PBF", "PE", "PH", "R",
"SB","SC", "SPBF", "SPW", "SS", "SSB", "SSS", "SW", "SWF", "WB",
"WLH", "WW")
> names(data) <- species
> cor.mat <- vcv.phylo(treeX, cor=TRUE)
> regr <- compar.cheverud(data, cor.mat)
> regr$rhohat
[1] 5.541462
> 1 - var(regr$residuals)/var(data)
[,1]
[1,] -1.333095
I don't understand why the autoregression coefficient falls outside the
interval -1 to 1, or why the calculation for obtaining an R-squared
produces a value that doesn't make sense.
Have I made a mistake in the application of this method, or have I
misunderstood when it is appropriate to use phylogenetic autoregression?
Thanks for your help.
Louise
[[alternative HTML version deleted]]
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.