2014-03-25 67 views
0

我希望有人会给我如何使用R从一个Jaccard集群获得置信区间的建议。我有从1970年代和今天在四个地点的物种数据。当我运行下面的代码时,我得到一个很棒的图表,表明我现在的某个网站比另一个网站更接近历史。我相信人们会问关于重要性。我在系统发育树上看到了类似的置信区间,但我不确定如何获得这些结果。我假设我使用bootstrap测试来做到这一点,但我不确定如何从boot()获取结果或如何将它们放到我的集群图上。任何建议将不胜感激。Jaccard集群置信区间

我的代码,以使集群:

historicalwo <-read.csv("https://stackoverflow.com/users/Victoria/Desktop/Stat Documents/historicalwo.csv", 
row.names = 1) 

jaccard2 <- vegdist (historical, method = "jaccard") 

plot (hclust (jaccard2), hang = -1,main = "Sites clustered by Jaccard similarity",axes = FALSE, 
ylab = "") 

然后我做了捷卡结果的.csv 3列,站点1,站点2和两个站点的杰卡德指数。

jaccardboot < -read.csv( “/用户/维多利亚/桌面/ STAT文件/ jaccardboot.csv”,标题= TRUE)

bs <- function(formula, data, indices) { 
d <- data[indices,] 
fit <- lm(formula, data=d) 
return(coef(fit)) } 

results <- boot(data=jaccardboot,statistic=bs, 
      R=100, formula=site1~jaccard+site2) 

结果

我得到:在开机 错误(data = jaccardboot,statistic = bs,R = 100,formula = site1〜: 要替换的项数不是替换长度的倍数 另外:有50个或更多的警告(使用警告() 50)

回答

0

幸运之余,我偶然发现了一个合理的答案。首先我转换了我的数据,然后我使用了pvclust,使用ward方法和二进制作为距离。这模拟了一个提花指数。结果没有像我之前的例子那样聚集,但至少现在我有统计学意义。如果有人知道为什么这个集群可能与我的jaccard集群有所不同,那么我就会全神贯注。

swo <-read.csv("https://stackoverflow.com/users/Victoria/Desktop/Stat Documents/siteswo1.csv", header = TRUE, row.names = 1) 
    result <- pvclust(swo, method.dist="binary", method.hclust="ward", nboot=1000) 
    plot(result) 
    pvrect(result, alpha=0.95)