njab.stats.ancova module#
Analysis of covariance using pingouin and statsmodels.
- class njab.stats.ancova.Ancova(df_proteomics: DataFrame, df_clinic: DataFrame, target: str, covar: list[str], value_name: str = 'intensity')[source]#
Bases:
object
Base Ancova class.
- class njab.stats.ancova.AncovaAll(df_proteomics: DataFrame, df_clinic: DataFrame, target: str, covar: list[str], value_name: str = 'intensity')[source]#
Bases:
Ancova
Ancova with FDR on all variables except the constant of the linear regression for each.
- class njab.stats.ancova.AncovaOnlyTarget(df_proteomics: DataFrame, df_clinic: DataFrame, target: str, covar: list[str], value_name: str = 'intensity')[source]#
Bases:
Ancova
Ancova with FDR on only the target variables p-values in the set of hypothesis.
- njab.stats.ancova.add_fdr_scores(scores: DataFrame, random_seed: int | None = None, alpha: float = 0.05, method: str = 'indep', p_val_column: str = 'p-unc') DataFrame [source]#
Add FDR scores based on p-values in p_val_column.
- njab.stats.ancova.ancova_pg(df_long: DataFrame, feat_col: str, dv: str, between: str, covar: list[str] | str, fdr=0.05) DataFrame [source]#
Analysis of covariance (ANCOVA) using pg.ancova https://pingouin-stats.org/generated/pingouin.ancova.html
Adds multiple hypothesis testing correction by Benjamini-Hochberg (qvalue, rejected)
- Parameters:
df_long (pd.DataFrame) – should be long data format
feat_col (str) – feature column (or index) name
dv (str) – Name of column containing the dependant variable, passed to pg.ancova
between (str) – Name of column containing the between factor, passed to pg.ancova
covar (list, str) – Name(s) of column(s) containing the covariate, passed to pg.ancova
fdr (float, optional) – FDR treshold to apply, by default 0.05
- Returns:
- Columns: [ ‘Source’,
’SS’, ‘DF’, ‘F’, ‘p-unc’, ‘np2’, ‘{feat_col}’, ‘-Log10 pvalue’, ‘qvalue’, ‘rejected’]
- Return type:
pd.DataFrame