【问题标题】:alpha diversity indices using estimateR (vegan package) in R在R中使用estimateR(素食包)的alpha多样性指数
【发布时间】:2021-03-05 10:38:48
【问题描述】:

我在 R 中的 vegan 包中使用estimateR 函数来估计各种混沌多样性估计。但是,对于 se.chao1 中的所有样本,它返回 0,对于 S.ace 和 se.ace,它返回 NaN。 S.obs 和 S.chao1 列也具有相同的值。

数据集是一个绝对丰度矩阵,数字从 0 到高值不等。

dataset <- c(
0, 0, 57550, 0, 0, 2649956, 0, 0, 0, 0, 0, 402418, 0, 292221, 0, 0, 11408954,
879793, 7046, 91526835, 882521, 0, 0, 12258322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 720097, 0, 14781762, 0, 29370, 4319441, 462408, 0, 4808129, 0, 48946, 0,
261708, 0, 13543665, 0, 425312, 3482180, 614839, 0, 7622227, 0, 0, 1167266, 0,
0, 32642704, 0, 20674, 0, 0, 0, 16958655, 0, 0, 8530916, 0
)
dataset <- matrix(dataset, ncol = 6, byrow = TRUE)
colnames(dataset) <- c(
"Rothia", "Bifidobacterium", "Scardovia",
"Adlercreutzia", "Collinsella", "Eggerthella"
)

chao <- vegan::estimateR(dataset)

我觉得得到 0 和 NaN 很奇怪,你能帮我解决这个问题吗?这是对还是错? 如果正确,如何解释?

任何帮助将不胜感激。

提前谢谢你

【问题讨论】:

  • 能否请您添加一些示例数据和到目前为止您一直在使用的代码?否则很难帮你解决问题。
  • 当然,我使用的代码是 chao
  • 请以人们可以将其解析为 R 的方式添加数据。见上文...
  • Rothia双歧Scardovia Adlercreutzia柯林斯Eggerthella 0 0 57550 0 0 2649956 0 0 0 0 0 402418 0 292221 0 0 11408954 879793 7046 91526835 882521 0 0 12258322 0 0 0 0 0 0 0 0 0 0 0 720097 0 14781762 0 29370 4319441 462408 0 0 4808129 0 48946 0 1261708 0 13543665 425312 3482180 614839 0 7622227 0 0 1167266 0 0 32642704 0 20674 0 0 0 16958655 0 0 0 8530916我道歉,是更好?因为我找不到任何附加文件的方法
  • 抱歉,我的编辑丢失了。这就是我添加数据的意思:``` dataset

标签: r vegan


【解决方案1】:

如果所有其他方法都失败了,阅读帮助页面可能是个好主意。首先它给出了基于稀有物种外推的方程,然后它扩展了稀有性的概念:

S_rare 是稀有物种的数量,S_abund 是丰富物种的数量 物种,对于稀有物种具有任意的丰度阈值 10 种,N_rare为稀有种的个体数

您的数据集中最稀有物种的计数为 7046,远高于阈值 10。如果您观察到至少 7000 个最稀有物种,则该方法假定没有稀有物种,您已观察到所有物种并且存在再也找不到了。 estimateR 没有可估计的值,因此估计值也是 0 或 0/0 (NaN)。

该方法不适合您的数据,您不应使用它。阅读原始论文(在帮助页面中引用)将获得更多相同效果的信息。

【讨论】:

  • 非常感谢您的解释。我可能在这里错了,但这将是一个常见问题,对吗?基本上这是 metaphlan2 的输出,我通过将相对丰度值乘以每个样本中的读取数将其转换为绝对丰度。如果这给出了如此高的价值,这是否会成为一个普遍的问题?因为有必要将相对丰度转化为绝对权吗?
  • 您应该使用原始数据进行这种计算:读取一次与 7000 次假读取(其中 6999 次您没有)是不同的。如果您进行这样的操作,请先对数据进行操作,然后再乘以虚构的数字。
  • 抱歉,您的意思是说我应该使用相对丰度计数而不是元数据中的绝对丰度计数来进行分析?
  • 不,我没有这么说。我说你应该使用 observed 计数。 estimateR 函数仅适用于观察计数,因为它基于使用 rare 案例的想法,并且稀有度仅对观察有意义(您 seen 少于十次是罕见的)。但是,您的数据可能是这样的,estimateR 不是他们的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
  • 1970-01-01
相关资源
最近更新 更多