2017-08-22 56 views
1

我需要在两个变量之间进行相关性检验(返回r,t和p.value),这两个变量说明了个体之间的系统发育关联结构。有没有简单的方法来做到这一点在R?系统发育关联检验

回答

1

ape包,具体?ape::pic(“系统发育独立对比”):

library(ape) 
cat("((((Homo:0.21,Pongo:0.21):0.28,", 
     "Macaca:0.49):0.13,Ateles:0.62):0.38,Galago:1.00);", 
     file = "ex.tre", sep = "\n") 
tree.primates <- read.tree("ex.tre") 
X <- c(4.09434, 3.61092, 2.37024, 2.02815, -1.46968) 
Y <- c(4.74493, 3.33220, 3.36730, 2.89037, 2.30259) 
names(X) <- names(Y) <- c("Homo", "Pongo", "Macaca", "Ateles", "Galago") 
pic.X <- pic(X, tree.primates) 
pic.Y <- pic(Y, tree.primates) 
cor.test(pic.X, pic.Y) 

# Pearson's product-moment correlation 
# 
# data: pic.X and pic.Y 
# t = -0.85623, df = 2, p-value = 0.4821 
# alternative hypothesis: true correlation is not equal to 0 
# 95 percent confidence interval: 
# -0.9874751 0.8823934 
# sample estimates: 
# cor 
# -0.5179156 

如果你打算做太多这样的工作,你可能希望得到天堂的Analysis of Phylogenetics and Evolution with R,看phylogenetics task view

+0

事实上,太平洋岛国可以是一个很好的选择。我也在“nlme”包中使用gls函数尝试过pgls模型。但我不确定这些模型返回的统计量(斜率t值和p值)是否等同于相关性检验,并且与系数估计无关? – jsegrestin

+1

PIC是最简单的。不一定相同(为什么你不尝试?)如果你有更具体的想法,你可以将它们包括在你原来的问题中... –

+0

另一种解决方案在这里介绍:http://blog.phytools.org/2017/ 08 /皮尔逊相关与 - phylogenetic.html – jsegrestin