我希望有人能就如何使用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索引制作了.csv的jaccard结果。
jaccardboot&lt; -read.csv(&#34; / users / Victoria / Desktop / Stat Documents / jaccardboot.csv&#34;,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)
结果
我得到: 启动时出错(data = jaccardboot,statistic = bs,R = 100,formula = site1~: 要更换的项目数不是更换长度的倍数 另外:有50个或更多警告(使用警告()查看前50个)
答案 0 :(得分:0)
幸运的是,我偶然发现了一个合理的答案。首先,我转换了我的数据,然后使用Ward方法和二进制作为距离使用pvclust
。这模拟了一个jaccard索引。结果没有像我之前的例子那样聚集,但至少现在我有统计学意义。如果有人知道为什么这个集群可能与我的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)