循环以按行和 运行 函数删除具有 NA 的列(对每一行执行此操作)
Loop to remove columns with NAs by row and run function (do this for each row)
我正在 运行 包 vegan 中的功能多样性,但我的数据集包含许多 NA。该函数按行(即图)计算多样性,但如果该行具有 NA,则将 return NA。我看了看,但找不到使用此功能的 NA 解决方案。唯一(也许)可以解决这个问题的方法是每次我 运行 函数时删除带有 NA 的列,但是手动执行此操作将永远花费。我不能简单地从我的数据集中删除所有 NA,因为这也会删除整行并且我有一些包含数据的列。
如何循环按行删除带有 NA 的列,运行 函数,存储多样性输出,然后对下一行执行相同操作直到最后一行?
数据集示例:
|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")
非常感谢任何帮助。谢谢!
你的数据集是物种 x 位点矩阵吗?即行是 sites/samples,列是物种?
如果是这样,用零表示在那个地点没有检测到一个物种是正常的,而不是“NA”。我知道仅仅因为你没有检测到一个物种,并不意味着它不存在,但大多数生态群落数据分析都会考虑到这一点。
我正在 运行 包 vegan 中的功能多样性,但我的数据集包含许多 NA。该函数按行(即图)计算多样性,但如果该行具有 NA,则将 return NA。我看了看,但找不到使用此功能的 NA 解决方案。唯一(也许)可以解决这个问题的方法是每次我 运行 函数时删除带有 NA 的列,但是手动执行此操作将永远花费。我不能简单地从我的数据集中删除所有 NA,因为这也会删除整行并且我有一些包含数据的列。
如何循环按行删除带有 NA 的列,运行 函数,存储多样性输出,然后对下一行执行相同操作直到最后一行?
数据集示例:
|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")
非常感谢任何帮助。谢谢!
你的数据集是物种 x 位点矩阵吗?即行是 sites/samples,列是物种?
如果是这样,用零表示在那个地点没有检测到一个物种是正常的,而不是“NA”。我知道仅仅因为你没有检测到一个物种,并不意味着它不存在,但大多数生态群落数据分析都会考虑到这一点。