我是新的 R 用户,所以我提前为我的无知道歉。我有一个流大型无脊椎动物数据的社区矩阵(作为行标题和物种作为列标题的图)。我想将数据稀疏到每个地块 500 个人,执行 1000 次,然后计算流健康指标(例如,% EPT)。在这一点上,我还没有成功地建立一个循环来将数据稀疏 1000 次(甚至 10 次)。我正在使用一个简化的数据集(6 个物种,12 个地块)来找出正确的代码,因为我的社区矩阵有 > 100 个物种。我正在使用这个网站 (http://ichthyology.usm.edu/courses/multivariate/diversity.R) 作为开发正确代码的模板。提前感谢您对此代码的任何帮助。
我的矩阵有 6 个物种,12 个地块
comm
X Attenella.margarita Baetidae Baetis.sp. Baetis.tricaudatus Caenis.sp. Diphetor.hageni
1 1 0 0 0 0 0 36
2 2 0 0 0 1009 0 682
3 3 51 51 0 609 0 406
4 4 0 0 40 0 0 0
5 5 0 0 68 0 68 203
6 6 0 0 0 1244 0 0
7 7 0 0 2090 0 0 0
8 8 0 0 11 0 0 0
9 9 0 0 0 4621 0 0
10 10 0 0 0 1515 0 0
11 11 0 0 0 33 0 0
12 12 0 0 0 116 0 0
我可以rarefy
使用 vegan 包将此数据集 1x,但我想重复执行此操作
rrarefy(comm, sample=5)
X Attenella.margarita Baetidae Baetis.sp. Baetis.tricaudatus Caenis.sp. Diphetor.hageni
[1,] 0 0 0 0 0 0 5
[2,] 0 0 0 0 4 0 1
[3,] 0 2 0 0 2 0 1
[4,] 0 0 0 5 0 0 0
[5,] 0 0 0 1 0 1 3
[6,] 0 0 0 0 5 0 0
[7,] 0 0 0 5 0 0 0
[8,] 3 0 0 2 0 0 0
[9,] 0 0 0 0 5 0 0
[10,] 0 0 0 0 5 0 0
[11,] 0 0 0 0 5 0 0
[12,] 0 0 0 0 5 0 0
但是当我尝试将其作为循环执行 10 次时我没有运气
> ComLoop = 0
> for (i in 1:10) ComLoop[i] = rrarefy(comm, sample=5)
Warning in ComLoop[i] = rrarefy(comm, sample = 5) :