2017-08-22 95 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