0

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

我制作集群的代码:

historicalwo <-read.csv("/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 = "")

然后我用 3 列、站点 1、站点 2 和两个站点的 jaccard 索引制作了 jaccard 结果的 .csv。

jaccardboot <-read.csv("/users/Victoria/Desktop/Stat Documents/jaccardboot.csv", header = 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)

结果

我得到:错误启动(数据= jaccardboot,统计= bs,R = 100,公式= site1〜:要替换的项目数不是替换长度的倍数另外:有50个或更多警告(使用警告()查看前 50 个)

4

1 回答 1

0

幸运的是,我偶然发现了对我的问题的合理答案。首先我转置了我的数据,然后我pvclust使用 Ward 方法和二进制作为距离。这模拟了杰卡德索引。结果不像我之前的例子那样聚集,但至少现在我有统计意义。如果有人知道为什么这个集群可能与我的 jaccard 集群不同,我会全神贯注。

    swo <-read.csv("/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)
于 2014-03-30T03:36:31.440 回答