r - 在 R 中运行具有特定数据的 ANOSIM?
问题描述
我尝试使用我进行的一项研究的数据来完成 ANOSIM,但我遇到了多个错误,我不知道如何修复它。大多数错误是“差异有 24 个观察值,但分组有 23 个”。我试图查看多个样本之间社区结构的相似性。到目前为止我的代码是
setwd()
#load invertebrate data
Invertebrates<- read.csv(file="Invertebrates.csv",head=TRUE,sep=",")
#install packages
install.packages("vegan")
library(vegan)
#make community matrix
com<-Invertebrates[,2:ncol(Invertebrates)]
m_com<-as.matrix(com)
# group by site
group=Invertebrates[,1]
#ANOSIM
invert.ano<-anosim(m_com,group)
然后我得到
anosim(m_com, group) 中的错误:组内应该有重复
谢谢你的帮助
Invertebrates <- structure(list(Site = structure(c(10L, 14L, 6L, 3L, 24L, 12L, 7L, 18L, 1L, 8L, 15L, 5L, 16L, 23L, 4L, 11L, 21L, 19L, 9L, 13L
), .Label = c("Anax parthenope", "Anisus vortex", "Asellus aquaticus",
"Bathyomphalus contortus", "Bithynia leachii", "Bithynia tentaculata",
"Coenagrion pulchellum", "Corixa punctata", "Dytiscus marginalis",
"Gammarus pulex", "Gyraulus albus", "Haliplus fluviatilis", "Haplotaxis gordioides",
"Ilyocoris cimicoides", "Lymnaea stagnalis", "Lymnaea truncatula",
"Oxygastra curtisii", "Physa fontilnalis", "Piscicola geometra",
"Planorbis cornatus", "Planorbis planorbis", "Radix ovata", "Radix palustris",
"Sialis lutaria"), class = "factor"), Finglesham.Brook.A = c(112L,
1L, 3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L), Betteshanger.Pond.A = c(0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), Betteshanger.Pond.B = c(0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L), Great.Mongeham.A = c(7L, 0L, 0L, 2L, 2L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), Site.7.SS.A = c(6L,
0L, 0L, 0L, 0L, 6L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L), Great.Mongeham.B = c(32L, 0L, 0L, 0L, 1L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), Broad.dike.A = c(0L,
0L, 0L, 0L, 0L, 2L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L), Broad.dike.B = c(0L, 0L, 0L, 2L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), S3.Broad.dike.SS.B = c(14L,
0L, 7L, 6L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L), Site.6.NS.B = c(65L, 0L, 0L, 2L, 2L, 0L, 0L, 1L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), Fowlmead.Lake.A = c(0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 3L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L), Site.7.SS.B = c(0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), Fowlmead.lake.B = c(0L,
0L, 0L, 0L, 0L, 0L, 2L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L), Adelaide.NS.A = c(5L, 0L, 3L, 6L, 2L, 0L, 0L, 0L,
0L, 0L, 2L, 6L, 4L, 1L, 1L, 6L, 4L, 0L, 0L, 0L), Little.Downs.Bridge.B = c(48L,
8L, 0L, 23L, 0L, 0L, 2L, 0L, 0L, 0L, 0L, 18L, 0L, 2L, 0L, 1L,
0L, 1L, 0L, 0L), Finglesham.Brook.B = c(78L, 0L, 3L, 15L, 1L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 2L),
Adelaide.SS.A = c(8L, 0L, 0L, 33L, 9L, 0L, 0L, 0L, 0L, 0L,
0L, 12L, 0L, 4L, 19L, 7L, 4L, 0L, 2L, 0L), Adelaide.SS.B = c(4L,
0L, 20L, 9L, 2L, 0L, 0L, 0L, 0L, 0L, 7L, 0L, 0L, 0L, 14L,
0L, 1L, 0L, 0L, 0L), Ham.Fen.SS = c(1L, 0L, 0L, 6L, 3L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L),
Adelaide.NS.B = c(3L, 0L, 0L, 8L, 0L, 6L, 1L, 0L, 0L, 2L,
0L, 0L, 0L, 0L, 0L, 0L, 12L, 0L, 1L, 0L), Site.6.NS.A = c(58L,
0L, 0L, 2L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L), S3.Broad.dike.SS.A = c(24L, 0L, 0L, 50L,
0L, 0L, 3L, 13L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L), Little.Downs.Bridge.A = c(10L, 16L, 23L, 46L, 0L,
0L, 2L, 0L, 0L, 4L, 0L, 0L, 0L, 0L, 4L, 0L, 5L, 0L, 0L, 0L
)), row.names = c(NA, 20L), class = "data.frame")
解决方案
如果你跑
table(Invertebrates$Site)
你会看到你分组的变量实际上并没有分组任何东西。也就是说,每组最多有一个观察值。但是 ANOSIM 需要对数据进行分组。
如果我只是组成一个随机分组变量,如下所示:
Invertebrates$Group <- sample(c(1,2), nrow(Invertebrates), replace = TRUE)
并重新运行您的分析:
Invertebrates$Group <- sample(c(1,2), nrow(Invertebrates), replace = TRUE)
group <- Invertebrates[, "Group"]
invert.ano <- anosim(m_com, group)
有用!
推荐阅读
- java - 如何在动态属性@Value 中注入参数
- excel - VBA 自动登录:首次使用后 URL 更改导致错误
- c# - 更新时文本框不会丢失以前的值
- mysql - MYSQL:如何选择所有列并使用 SHA2 散列它们
- swift - 我可以制作一个从“视图”继承的协议来显示特定的“视图”吗?
- javascript - 从不同的子域访问沙盒 iframe 中的摄像头和麦克风
- sql - 如何在执行 select 语句 where 子句中使用变量而不会在列上出现错误?
- json - 压缩的 JSON 比非压缩版本大
- node.js - 为什么 npm 不在 docker 中运行 prepublishOnly?
- bash - 如何从文本文件中提取行,仅当行以日期开头时