skbio.stats.distance.permanova

skbio.stats.distance.permanova(distance_matrix, grouping, column=None, permutations=999)[源代码]

使用PERMANOVA检测各组间的显著差异。

状态:从0.4.0开始实验。

置换多变量方差分析(PERMANOVA)是一种非参数方法,它基于分类因素测试两组或更多组对象(例如,样本)是否显著不同。它在概念上类似于ANOVA,但它对距离矩阵进行运算,从而允许进行多变量分析。PERMANOVA计算伪F统计量。

统计意义通过排列检验来评估。将对象分配到组 (grouping )被随机置换多次(通过控制 permutations )。对于每个排列计算伪F统计量,并且p值是等于或大于原始(未置换)伪F统计量的置换伪F统计量的比例。

参数:
  • distance_matrix (DistanceMatrix) -- 包含物体之间距离的距离矩阵(例如,微生物群落样本之间的距离)。

  • grouping (1-D array_like or pandas.DataFrame) -- 指示将对象分配给组的矢量。例如,这些可以是字符串或整数,表示对象所属的组。如果 grouping 是一维的 array_like ,它必须与中的对象具有相同的长度和顺序 distance_matrix 。如果 grouping 是一种 DataFrame ,由指定的列 column 将用作分组向量。这个 DataFrame 必须按中的ID进行索引 distance_matrix (即行标签必须是距离矩阵ID),但ID之间的顺序 distance_matrix 以及 DataFrame 不需要是相同的。距离矩阵中的所有ID必须出现在 DataFrame 。中的额外ID DataFrame 是允许的(它们在计算中被忽略)。

  • column (str, optional) -- 在以下情况下用作分组向量的列名 grouping 是一种 DataFrame 。必须在以下情况下提供 grouping 是一种 DataFrame 。在以下情况下无法提供 grouping 是一维的 array_like

  • permutations (int, optional) -- 评估统计意义时要使用的排列数。必须大于或等于零。如果为零,则将跳过统计显著性计算,并且p值将 np.nan

返回:

统计检验结果,包括 test statisticp-value

返回类型:

pandas.Series

参见

anosim

备注

看见 [1] 对于原始方法引用,以及 vegan::adonis ,在R‘s素食套餐中提供 [2].

P值将为 np.nan 如果 permutations 是零。

引用

示例

看见 skbio.stats.distance.anosim 用于示例(这两个函数提供类似的接口)。