我在包中运行函数多样性,但我的数据集包含许多NAs。该函数按行(即绘图)计算多样性,但如果该行具有NAs,则返回NAs。我看过了,但是没有找到使用这个函数的NAs的解决方案。解决这个问题的唯一方法(也许)是每次运行函数时都删除带有NAs的列,但是手工操作将花费很长时间。我不能简单地从dataset中删除所有NAs,因为这也将删除整个行,并且我有一些包含数据的列。
我如何循环删除带有NAs的列,运行函数,存储多样性输出,然后对下一行执行相同的操作直到最后一行?
数据集示例:
|species1|species2|species3|species4|species5|species6|species7|species8|
|________|________|________|________|________|________|________|________|
|NA |90 |75 |NA |NA |NA |NA |60 |
|90 |NA |75 |NA |90 |NA |90 |60 |
|NA |NA |NA |NA |NA |NA |NA |33 |
|60 |90 |75 |NA |30 |NA |NA |46 |
|NA |90 |75 |NA |NA |NA |NA |NA |和多样性功能:
library("vegan")
diversity(dataset, "invsimpson")任何帮助都是非常感谢的。谢谢!
发布于 2022-02-04 14:20:40
您的数据集是物种x站点矩阵吗?例如,行是站点/样本,列是物种?
如果是这样的话,正常情况下,用零来表示某个物种在该地点没有被检测到,而不是"NA“。我明白,仅仅因为你没有发现一个物种,并不意味着它不存在,但是大多数对生态群落数据的分析都考虑到了这一点。
https://stackoverflow.com/questions/70883947
复制相似问题