{"example":"Raincloud Plot: Gene Expression","labtools_version":"0.14.3","generated":"2026-09-23","calls":[{"label":"stats.describe","method":"stats.describe","params":{},"result":{"columns":[{"excess_kurtosis":0.3957216776491914,"iqr":0.4375,"max":2.006,"mean":1.0332500000000002,"median":0.983,"min":0.457,"n":40,"n_missing":0,"name":"Control","q1":0.7785,"q3":1.216,"range":1.5489999999999997,"sd":0.372049331578764,"sem":0.058826164486605166,"skewness":0.8188226819857842,"sum":41.330000000000005,"variance":0.1384207051282051},{"excess_kurtosis":1.321175095569083,"iqr":0.6054999999999999,"max":3.49,"mean":1.616075,"median":1.53,"min":0.706,"n":40,"n_missing":0,"name":"Drug A","q1":1.2615,"q3":1.867,"range":2.7840000000000003,"sd":0.6162985202202266,"sem":0.09744535212436263,"skewness":1.048731634728758,"sum":64.643,"variance":0.379823866025641},{"excess_kurtosis":0.04642016168331464,"iqr":0.6935000000000002,"max":3.431,"mean":1.9785000000000004,"median":1.863,"min":0.972,"n":40,"n_missing":0,"name":"Drug B","q1":1.5082499999999999,"q3":2.20175,"range":2.459,"sd":0.6441136625289128,"sem":0.10184331228122076,"skewness":0.842353075349212,"sum":79.14000000000001,"variance":0.4148824102564102}],"n_columns":3,"notes":[],"source":{"kind":"arrays"}},"error":null},{"label":"stats.normality","method":"stats.normality","params":{"method":"shapiro_wilk"},"result":{"all_normal":false,"alpha":0.05,"method":"shapiro_wilk","notes":["Group 'Drug A' rejects normality (p = 0.0166); prefer a rank-based test.","Group 'Drug B' rejects normality (p = 0.0093); prefer a rank-based test."],"results":[{"excess_kurtosis":0.3957216776491914,"group":"Control","interpretation":"Data is consistent with normality (W = 0.9469, p = 0.0592)","n":40,"normality_rejected":false,"p_value":0.05920309155446568,"skewness":0.8188226819857842,"statistic":0.946869250938992,"test":"Shapiro-Wilk"},{"excess_kurtosis":1.321175095569083,"group":"Drug A","interpretation":"Data significantly deviates from normality (W = 0.9304, p = 0.0166)","n":40,"normality_rejected":true,"p_value":0.016571101776702287,"skewness":1.048731634728758,"statistic":0.9303787677185019,"test":"Shapiro-Wilk"},{"excess_kurtosis":0.04642016168331464,"group":"Drug B","interpretation":"Data significantly deviates from normality (W = 0.9226, p = 0.0093)","n":40,"normality_rejected":true,"p_value":0.009274856901485638,"skewness":0.842353075349212,"statistic":0.9225556228936449,"test":"Shapiro-Wilk"}],"source":{"kind":"arrays"}},"error":null},{"label":"stats.normality","method":"stats.normality","params":{"method":"anderson_darling"},"result":{"all_normal":false,"alpha":0.05,"method":"anderson_darling","notes":["Group 'Drug A' rejects normality (p = 0.0337); prefer a rank-based test.","Group 'Drug B' rejects normality (p = 0.0095); prefer a rank-based test."],"results":[{"excess_kurtosis":0.3957216776491914,"group":"Control","interpretation":"Data is consistent with normality (A² = 0.6093, p = 0.1056)","n":40,"normality_rejected":false,"p_value":0.1056149285620013,"skewness":0.8188226819857842,"statistic":0.6093404820600838,"test":"Anderson-Darling"},{"excess_kurtosis":1.321175095569083,"group":"Drug A","interpretation":"Data significantly deviates from normality (A² = 0.8063, p = 0.0337)","n":40,"normality_rejected":true,"p_value":0.033722458109316074,"skewness":1.048731634728758,"statistic":0.8062873255809464,"test":"Anderson-Darling"},{"excess_kurtosis":0.04642016168331464,"group":"Drug B","interpretation":"Data significantly deviates from normality (A² = 1.0254, p = 0.0095)","n":40,"normality_rejected":true,"p_value":0.009487650796104634,"skewness":0.842353075349212,"statistic":1.0253678432849256,"test":"Anderson-Darling"}],"source":{"kind":"arrays"}},"error":null},{"label":"stats.normality","method":"stats.normality","params":{"method":"kolmogorov_smirnov"},"result":{"all_normal":false,"alpha":0.05,"method":"kolmogorov_smirnov","notes":["Group 'Drug A' rejects normality (p = 0.0217); prefer a rank-based test.","Group 'Drug B' rejects normality (p = 0.0195); prefer a rank-based test."],"results":[{"excess_kurtosis":0.3957216776491914,"group":"Control","interpretation":"Data is consistent with normality (D = 0.1042, p = 0.3357)","n":40,"normality_rejected":false,"p_value":0.3357387031941359,"skewness":0.8188226819857842,"statistic":0.10419361556791307,"test":"Kolmogorov-Smirnov (Lilliefors)"},{"excess_kurtosis":1.321175095569083,"group":"Drug A","interpretation":"Data significantly deviates from normality (D = 0.1513, p = 0.0217)","n":40,"normality_rejected":true,"p_value":0.02166935807425459,"skewness":1.048731634728758,"statistic":0.15134318620067583,"test":"Kolmogorov-Smirnov (Lilliefors)"},{"excess_kurtosis":0.04642016168331464,"group":"Drug B","interpretation":"Data significantly deviates from normality (D = 0.1528, p = 0.0195)","n":40,"normality_rejected":true,"p_value":0.019539733279728962,"skewness":0.842353075349212,"statistic":0.1527871255686173,"test":"Kolmogorov-Smirnov (Lilliefors)"}],"source":{"kind":"arrays"}},"error":null},{"label":"stats.levene","method":"stats.levene","params":{"method":"levene"},"result":{"alpha":0.05,"df1":2.0,"df2":117.0,"equal_variance_rejected":true,"group_variances":[0.1384207051282051,0.379823866025641,0.4148824102564102],"groups":[{"excess_kurtosis":0.3957216776491914,"iqr":0.4375,"max":2.006,"mean":1.0332500000000002,"median":0.983,"min":0.457,"n":40,"n_missing":0,"name":"Control","q1":0.7785,"q3":1.216,"range":1.5489999999999997,"sd":0.372049331578764,"sem":0.058826164486605166,"skewness":0.8188226819857842,"sum":41.330000000000005,"variance":0.1384207051282051},{"excess_kurtosis":1.321175095569083,"iqr":0.6054999999999999,"max":3.49,"mean":1.616075,"median":1.53,"min":0.706,"n":40,"n_missing":0,"name":"Drug A","q1":1.2615,"q3":1.867,"range":2.7840000000000003,"sd":0.6162985202202266,"sem":0.09744535212436263,"skewness":1.048731634728758,"sum":64.643,"variance":0.379823866025641},{"excess_kurtosis":0.04642016168331464,"iqr":0.6935000000000002,"max":3.431,"mean":1.9785000000000004,"median":1.863,"min":0.972,"n":40,"n_missing":0,"name":"Drug B","q1":1.5082499999999999,"q3":2.20175,"range":2.459,"sd":0.6441136625289128,"sem":0.10184331228122076,"skewness":0.842353075349212,"sum":79.14000000000001,"variance":0.4148824102564102}],"interpretation":"Variances significantly differ across groups (F = 3.2876, p = 0.0408)","method":"levene","notes":["Variances differ: use Welch's t-test (stats.ttest default) or stats.kruskal rather than the pooled-variance alternatives."],"p_value":0.040820127754484944,"significant":true,"source":{"kind":"arrays"},"statistic":3.2876394337168335,"test":"Levene's Test","variance_ratio":2.9972568762176626},"error":null},{"label":"stats.levene","method":"stats.levene","params":{"method":"bartlett"},"result":{"alpha":0.05,"df1":2.0,"df2":null,"equal_variance_rejected":true,"group_variances":[0.1384207051282051,0.379823866025641,0.4148824102564102],"groups":[{"excess_kurtosis":0.3957216776491914,"iqr":0.4375,"max":2.006,"mean":1.0332500000000002,"median":0.983,"min":0.457,"n":40,"n_missing":0,"name":"Control","q1":0.7785,"q3":1.216,"range":1.5489999999999997,"sd":0.372049331578764,"sem":0.058826164486605166,"skewness":0.8188226819857842,"sum":41.330000000000005,"variance":0.1384207051282051},{"excess_kurtosis":1.321175095569083,"iqr":0.6054999999999999,"max":3.49,"mean":1.616075,"median":1.53,"min":0.706,"n":40,"n_missing":0,"name":"Drug A","q1":1.2615,"q3":1.867,"range":2.7840000000000003,"sd":0.6162985202202266,"sem":0.09744535212436263,"skewness":1.048731634728758,"sum":64.643,"variance":0.379823866025641},{"excess_kurtosis":0.04642016168331464,"iqr":0.6935000000000002,"max":3.431,"mean":1.9785000000000004,"median":1.863,"min":0.972,"n":40,"n_missing":0,"name":"Drug B","q1":1.5082499999999999,"q3":2.20175,"range":2.459,"sd":0.6441136625289128,"sem":0.10184331228122076,"skewness":0.842353075349212,"sum":79.14000000000001,"variance":0.4148824102564102}],"interpretation":"Variances significantly differ across groups (χ² = 12.4083, p = 0.0020)","method":"bartlett","notes":["Variances differ: use Welch's t-test (stats.ttest default) or stats.kruskal rather than the pooled-variance alternatives.","Bartlett's test assumes normality and is badly inflated when that fails — confirm with stats.normality, or use method='levene'."],"p_value":0.002021053363625778,"significant":true,"source":{"kind":"arrays"},"statistic":12.408272872688581,"test":"Bartlett's Test","variance_ratio":2.9972568762176626},"error":null},{"label":"stats.outliers","method":"stats.outliers","params":{"method":"grubbs"},"result":{"alpha":0.05,"method":"grubbs","notes":["Flagged points are candidates, not verdicts, and nothing has been removed. Look for a physical cause before excluding anything; if there is none, keep the point and use a robust test instead. Any exclusion must be reported.","Grubbs tests only the single most extreme point, so a second outlier can mask the first. On larger samples use method='generalized_esd'."],"results":[{"critical_value":3.036097384511378,"group":"Control","interpretation":"No outliers detected (G = 2.615, critical = 3.036)","n":40,"outlier_count":0,"outliers":[],"test":"Grubbs"},{"critical_value":3.036097384511378,"group":"Drug A","interpretation":"Detected 1 outlier (G = 3.041, critical = 3.036)","n":40,"outlier_count":1,"outliers":[{"index":31,"test_statistic":3.040612525453374,"value":3.49}],"test":"Grubbs"},{"critical_value":3.036097384511378,"group":"Drug B","interpretation":"No outliers detected (G = 2.255, critical = 3.036)","n":40,"outlier_count":0,"outliers":[],"test":"Grubbs"}],"source":{"kind":"arrays"},"total_outliers":1},"error":null},{"label":"stats.outliers","method":"stats.outliers","params":{"method":"generalized_esd","max_outliers":5},"result":{"alpha":0.05,"method":"generalized_esd","notes":["Flagged points are candidates, not verdicts, and nothing has been removed. Look for a physical cause before excluding anything; if there is none, keep the point and use a robust test instead. Any exclusion must be reported."],"results":[{"critical_value":3.036097384511378,"group":"Control","interpretation":"No outliers detected (tested up to 5 outliers)","n":40,"outlier_count":0,"outliers":[],"test":"Generalized ESD"},{"critical_value":3.036097384511378,"group":"Drug A","interpretation":"Detected 1 outlier(s) out of maximum 5","n":40,"outlier_count":1,"outliers":[{"index":31,"test_statistic":3.040612525453374,"value":3.49}],"test":"Generalized ESD"},{"critical_value":3.036097384511378,"group":"Drug B","interpretation":"No outliers detected (tested up to 5 outliers)","n":40,"outlier_count":0,"outliers":[],"test":"Generalized ESD"}],"source":{"kind":"arrays"},"total_outliers":1},"error":null},{"label":"stats.outliers","method":"stats.outliers","params":{"method":"modified_z"},"result":{"alpha":0.05,"method":"modified_z","notes":["Flagged points are candidates, not verdicts, and nothing has been removed. Look for a physical cause before excluding anything; if there is none, keep the point and use a robust test instead. Any exclusion must be reported."],"results":[{"critical_value":3.5,"group":"Control","interpretation":"No outliers detected (threshold = 3.50)","n":40,"outlier_count":0,"outliers":[],"test":"Modified Z-Score"},{"critical_value":3.5,"group":"Drug A","interpretation":"Detected 1 outlier(s) using modified Z-score (threshold = 3.50)","n":40,"outlier_count":1,"outliers":[{"index":31,"test_statistic":4.566563039723662,"value":3.49}],"test":"Modified Z-Score"},{"critical_value":3.5,"group":"Drug B","interpretation":"No outliers detected (threshold = 3.50)","n":40,"outlier_count":0,"outliers":[],"test":"Modified Z-Score"}],"source":{"kind":"arrays"},"total_outliers":1},"error":null},{"label":"stats.outliers","method":"stats.outliers","params":{"method":"iqr"},"result":{"alpha":0.05,"method":"iqr","notes":["Flagged points are candidates, not verdicts, and nothing has been removed. Look for a physical cause before excluding anything; if there is none, keep the point and use a robust test instead. Any exclusion must be reported.","The IQR rule is descriptive — it has no p-value and flags roughly 0.7% of a perfectly normal sample by construction."],"results":[{"critical_value":1.5,"group":"Control","interpretation":"Detected 1 outlier(s) outside [0.122, 1.872] (k = 1.5)","n":40,"outlier_count":1,"outliers":[{"index":15,"test_statistic":1.8057142857142854,"value":2.006}],"test":"IQR Method"},{"critical_value":1.5,"group":"Drug A","interpretation":"Detected 2 outlier(s) outside [0.353, 2.775] (k = 1.5)","n":40,"outlier_count":2,"outliers":[{"index":23,"test_statistic":1.8909991742361687,"value":3.012},{"index":31,"test_statistic":2.6804293971924036,"value":3.49}],"test":"IQR Method"},{"critical_value":1.5,"group":"Drug B","interpretation":"Detected 3 outlier(s) outside [0.468, 3.242] (k = 1.5)","n":40,"outlier_count":3,"outliers":[{"index":11,"test_statistic":1.7725306416726743,"value":3.431},{"index":32,"test_statistic":1.732155731795241,"value":3.403},{"index":34,"test_statistic":1.6023792357606341,"value":3.313}],"test":"IQR Method"}],"source":{"kind":"arrays"},"total_outliers":6},"error":null},{"label":"stats.ci","method":"stats.ci","params":{"conf_level":0.95},"result":{"conf_level":0.95,"estimate":1.0332500000000002,"interpretation":"Over repeated sampling, intervals built this way contain the true mean at the stated rate. It is not the probability that this particular interval contains it.","kind":"mean","lower":0.9142628512323366,"margin_of_error":0.11898714876766364,"method":"t","n":40,"name":"data","notes":[],"sd":0.372049331578764,"source":{"kind":"arrays_or_dataset"},"upper":1.152237148767664},"error":null},{"label":"stats.ci","method":"stats.ci","params":{"conf_level":0.95},"result":{"conf_level":0.95,"estimate":1.616075,"interpretation":"Over repeated sampling, intervals built this way contain the true mean at the stated rate. It is not the probability that this particular interval contains it.","kind":"mean","lower":1.4189731710582363,"margin_of_error":0.19710182894176365,"method":"t","n":40,"name":"data","notes":[],"sd":0.6162985202202266,"source":{"kind":"arrays_or_dataset"},"upper":1.8131768289417636},"error":null},{"label":"stats.ci","method":"stats.ci","params":{"conf_level":0.95},"result":{"conf_level":0.95,"estimate":1.9785000000000004,"interpretation":"Over repeated sampling, intervals built this way contain the true mean at the stated rate. It is not the probability that this particular interval contains it.","kind":"mean","lower":1.772502456982275,"margin_of_error":0.20599754301772544,"method":"t","n":40,"name":"data","notes":[],"sd":0.6441136625289128,"source":{"kind":"arrays_or_dataset"},"upper":2.184497543017726},"error":null},{"label":"stats.anova","method":"stats.anova","params":{},"result":{"alpha":0.05,"assumptions":{"alpha":0.05,"homogeneity_of_variance":{"equal_variance_rejected":true,"p_value":0.040820127754484944,"statistic":3.2876394337168335,"test":"Levene's Test"},"independence":"Assumed, not tested — observations must come from independent sampling units. Repeated measures on the same unit require a paired or mixed-model analysis instead.","normality":[{"group":"Control","normality_rejected":false,"p_value":0.05920309155446568,"statistic":0.946869250938992,"test":"Shapiro-Wilk"},{"group":"Drug A","normality_rejected":true,"p_value":0.016571101776702287,"statistic":0.9303787677185019,"test":"Shapiro-Wilk"},{"group":"Drug B","normality_rejected":true,"p_value":0.009274856901485638,"statistic":0.9225556228936449,"test":"Shapiro-Wilk"}]},"design":"one_way","df_between":2.0,"df_within":117.0,"effect_size":{"cohens_f":0.7070643476055313,"estimate":0.3200862682251892,"eta_squared":0.33330666189069863,"interpretation":"eta-squared is the variance explained in THIS sample and is upward-biased; omega-squared estimates the population value and is the one to report.","magnitude":"large","name":"omega_squared","omega_squared":0.3200862682251892},"groups":[{"excess_kurtosis":0.3957216776491914,"iqr":0.4375,"max":2.006,"mean":1.0332500000000002,"median":0.983,"min":0.457,"n":40,"n_missing":0,"name":"Control","q1":0.7785,"q3":1.216,"range":1.5489999999999997,"sd":0.372049331578764,"sem":0.058826164486605166,"skewness":0.8188226819857842,"sum":41.330000000000005,"variance":0.1384207051282051},{"excess_kurtosis":1.321175095569083,"iqr":0.6054999999999999,"max":3.49,"mean":1.616075,"median":1.53,"min":0.706,"n":40,"n_missing":0,"name":"Drug A","q1":1.2615,"q3":1.867,"range":2.7840000000000003,"sd":0.6162985202202266,"sem":0.09744535212436263,"skewness":1.048731634728758,"sum":64.643,"variance":0.379823866025641},{"excess_kurtosis":0.04642016168331464,"iqr":0.6935000000000002,"max":3.431,"mean":1.9785000000000004,"median":1.863,"min":0.972,"n":40,"n_missing":0,"name":"Drug B","q1":1.5082499999999999,"q3":2.20175,"range":2.459,"sd":0.6441136625289128,"sem":0.10184331228122076,"skewness":0.842353075349212,"sum":79.14000000000001,"variance":0.4148824102564102}],"k_groups":3,"ms_between":9.096896158333337,"ms_within":0.31104232713675206,"n_total":120,"notes":["Group 'Drug A' departs from normality (Shapiro–Wilk W = 0.9304, p = 0.0166 < 0.05). Consider stats.kruskal.","Group 'Drug B' departs from normality (Shapiro–Wilk W = 0.9226, p = 0.0093 < 0.05). Consider stats.kruskal.","Group variances are unequal (Levene W = 3.2876, p = 0.0408 < 0.05); the equal-variance assumption of this test is violated. Use the Welch variant instead."],"p_value":5.008154935323054e-11,"post_hoc":"A significant F is an omnibus result. Run pairwise stats.ttest comparisons and pass their p-values through stats.adjust before reporting any specific pair.","significant":true,"source":{"kind":"arrays"},"statistic":29.246489511807887},"error":null},{"label":"stats.kruskal","method":"stats.kruskal","params":{},"result":{"alpha":0.05,"assumptions":{"note":"Distribution-free. Groups must be independent; similar group shapes are needed to read the result as a difference in medians rather than in distribution."},"df":2,"effect_size":{"estimate":0.40007526642752755,"interpretation":"Proportion of rank variance explained by group; 0..1.","name":"epsilon_squared"},"groups":[{"excess_kurtosis":0.3957216776491914,"iqr":0.4375,"max":2.006,"mean":1.0332500000000002,"median":0.983,"min":0.457,"n":40,"n_missing":0,"name":"Control","q1":0.7785,"q3":1.216,"range":1.5489999999999997,"sd":0.372049331578764,"sem":0.058826164486605166,"skewness":0.8188226819857842,"sum":41.330000000000005,"variance":0.1384207051282051},{"excess_kurtosis":1.321175095569083,"iqr":0.6054999999999999,"max":3.49,"mean":1.616075,"median":1.53,"min":0.706,"n":40,"n_missing":0,"name":"Drug A","q1":1.2615,"q3":1.867,"range":2.7840000000000003,"sd":0.6162985202202266,"sem":0.09744535212436263,"skewness":1.048731634728758,"sum":64.643,"variance":0.379823866025641},{"excess_kurtosis":0.04642016168331464,"iqr":0.6935000000000002,"max":3.431,"mean":1.9785000000000004,"median":1.863,"min":0.972,"n":40,"n_missing":0,"name":"Drug B","q1":1.5082499999999999,"q3":2.20175,"range":2.459,"sd":0.6441136625289128,"sem":0.10184331228122076,"skewness":0.842353075349212,"sum":79.14000000000001,"variance":0.4148824102564102}],"interpretation":"At least one group significantly differs (H = 47.609, df = 2, p = 0.0000)","n_total":120,"notes":[],"p_value":4.5903564109237427e-11,"post_hoc":"A significant H is an omnibus result. Run pairwise stats.mannwhitney comparisons and pass their p-values through stats.adjust (benjamini_hochberg or holm) before reporting any specific pair.","sample_sizes":[40,40,40],"significant":true,"source":{"kind":"arrays"},"statistic":47.60895670487577,"test":"Kruskal-Wallis"},"error":null},{"label":"stats.ttest","method":"stats.ttest","params":{"test":"welch","check_assumptions":false},"result":{"alpha":0.05,"alternative":"two_sided","assumptions":{"checked":false},"ci_of_difference":{"conf_level":0.95,"lower":-0.8102100684842911,"method":"t (Welch)","upper":-0.3554399315157083},"df":64.09317030863143,"effect_size":{"ci":{"conf_level":0.95,"lower":-1.5997536521122429,"upper":-0.6617910681338827},"cohens_d":-1.1449480703744699,"estimate":-1.1339035552261632,"interpretation":"Standardised mean difference (group 1 minus group 2), small-sample-bias corrected.","magnitude":"large","name":"hedges_g"},"groups":[{"excess_kurtosis":0.3957216776491914,"iqr":0.4375,"max":2.006,"mean":1.0332500000000002,"median":0.983,"min":0.457,"n":40,"n_missing":0,"name":"a","q1":0.7785,"q3":1.216,"range":1.5489999999999997,"sd":0.372049331578764,"sem":0.058826164486605166,"skewness":0.8188226819857842,"sum":41.330000000000005,"variance":0.1384207051282051},{"excess_kurtosis":1.321175095569083,"iqr":0.6054999999999999,"max":3.49,"mean":1.616075,"median":1.53,"min":0.706,"n":40,"n_missing":0,"name":"b","q1":1.2615,"q3":1.867,"range":2.7840000000000003,"sd":0.6162985202202266,"sem":0.09744535212436263,"skewness":1.048731634728758,"sum":64.643,"variance":0.379823866025641}],"mean_difference":-0.5828249999999997,"notes":[],"p_two_sided":3.0051993974698473e-06,"p_value":3.0051993974698473e-06,"significant":true,"source":{"kind":"arrays"},"statistic":-5.120363432129056,"test":"welch"},"error":null},{"label":"stats.mannwhitney","method":"stats.mannwhitney","params":{},"result":{"alpha":0.05,"alternative":"two_sided","assumptions":{"note":"Distribution-free: no normality assumption. Observations must be independent both within and between groups, and the two distributions are assumed to have similar shape if the result is to be read as a median shift."},"effect_size":{"estimate":-0.613125,"interpretation":"P(x > y) - P(x < y) for a random pair, one value from each group. 0 means complete overlap.","magnitude":"large","name":"cliffs_delta","rank_biserial_r":-0.6131249999999999},"groups":[{"excess_kurtosis":0.3957216776491914,"iqr":0.4375,"max":2.006,"mean":1.0332500000000002,"median":0.983,"min":0.457,"n":40,"n_missing":0,"name":"a","q1":0.7785,"q3":1.216,"range":1.5489999999999997,"sd":0.372049331578764,"sem":0.058826164486605166,"skewness":0.8188226819857842,"sum":41.330000000000005,"variance":0.1384207051282051},{"excess_kurtosis":1.321175095569083,"iqr":0.6054999999999999,"max":3.49,"mean":1.616075,"median":1.53,"min":0.706,"n":40,"n_missing":0,"name":"b","q1":1.2615,"q3":1.867,"range":2.7840000000000003,"sd":0.6162985202202266,"sem":0.09744535212436263,"skewness":1.048731634728758,"sum":64.643,"variance":0.379823866025641}],"interpretation":"Distributions significantly differ (U = 309.5, Z = -4.715, p = 0.0000)","notes":[],"p_two_sided":2.4164566841754917e-06,"p_value":2.4164566841754917e-06,"sample_sizes":[40,40],"significant":true,"source":{"kind":"arrays"},"statistic":309.5,"test":"Mann-Whitney U"},"error":null},{"label":"stats.ttest","method":"stats.ttest","params":{"test":"welch","check_assumptions":false},"result":{"alpha":0.05,"alternative":"two_sided","assumptions":{"checked":false},"ci_of_difference":{"conf_level":0.95,"lower":-1.180321748745425,"method":"t (Welch)","upper":-0.7101782512545752},"df":62.41712766162753,"effect_size":{"ci":{"conf_level":0.95,"lower":-2.29156956499208,"upper":-1.2598126920484436},"cohens_d":-1.7971326154753782,"estimate":-1.779796931081725,"interpretation":"Standardised mean difference (group 1 minus group 2), small-sample-bias corrected.","magnitude":"very large","name":"hedges_g"},"groups":[{"excess_kurtosis":0.3957216776491914,"iqr":0.4375,"max":2.006,"mean":1.0332500000000002,"median":0.983,"min":0.457,"n":40,"n_missing":0,"name":"a","q1":0.7785,"q3":1.216,"range":1.5489999999999997,"sd":0.372049331578764,"sem":0.058826164486605166,"skewness":0.8188226819857842,"sum":41.330000000000005,"variance":0.1384207051282051},{"excess_kurtosis":0.04642016168331464,"iqr":0.6935000000000002,"max":3.431,"mean":1.9785000000000004,"median":1.863,"min":0.972,"n":40,"n_missing":0,"name":"b","q1":1.5082499999999999,"q3":2.20175,"range":2.459,"sd":0.6441136625289128,"sem":0.10184331228122076,"skewness":0.842353075349212,"sum":79.14000000000001,"variance":0.4148824102564102}],"mean_difference":-0.9452500000000001,"notes":[],"p_two_sided":3.2665019401383184e-11,"p_value":3.2665019401383184e-11,"significant":true,"source":{"kind":"arrays"},"statistic":-8.037021385569872,"test":"welch"},"error":null},{"label":"stats.mannwhitney","method":"stats.mannwhitney","params":{},"result":{"alpha":0.05,"alternative":"two_sided","assumptions":{"note":"Distribution-free: no normality assumption. Observations must be independent both within and between groups, and the two distributions are assumed to have similar shape if the result is to be read as a median shift."},"effect_size":{"estimate":-0.84,"interpretation":"P(x > y) - P(x < y) for a random pair, one value from each group. 0 means complete overlap.","magnitude":"large","name":"cliffs_delta","rank_biserial_r":-0.84},"groups":[{"excess_kurtosis":0.3957216776491914,"iqr":0.4375,"max":2.006,"mean":1.0332500000000002,"median":0.983,"min":0.457,"n":40,"n_missing":0,"name":"a","q1":0.7785,"q3":1.216,"range":1.5489999999999997,"sd":0.372049331578764,"sem":0.058826164486605166,"skewness":0.8188226819857842,"sum":41.330000000000005,"variance":0.1384207051282051},{"excess_kurtosis":0.04642016168331464,"iqr":0.6935000000000002,"max":3.431,"mean":1.9785000000000004,"median":1.863,"min":0.972,"n":40,"n_missing":0,"name":"b","q1":1.5082499999999999,"q3":2.20175,"range":2.459,"sd":0.6441136625289128,"sem":0.10184331228122076,"skewness":0.842353075349212,"sum":79.14000000000001,"variance":0.4148824102564102}],"interpretation":"Distributions significantly differ (U = 128.0, Z = -6.462, p = 0.0000)","notes":[],"p_two_sided":1.0363615431226944e-10,"p_value":1.0363615431226944e-10,"sample_sizes":[40,40],"significant":true,"source":{"kind":"arrays"},"statistic":128.0,"test":"Mann-Whitney U"},"error":null},{"label":"stats.ttest","method":"stats.ttest","params":{"test":"welch","check_assumptions":false},"result":{"alpha":0.05,"alternative":"two_sided","assumptions":{"checked":false},"ci_of_difference":{"conf_level":0.95,"lower":-0.6430488242723797,"method":"t (Welch)","upper":-0.08180117572762119},"df":77.84849579159318,"effect_size":{"ci":{"conf_level":0.95,"lower":-1.0107584259200493,"upper":-0.12454557176562012},"cohens_d":-0.5749496632625356,"estimate":-0.5694035250317073,"interpretation":"Standardised mean difference (group 1 minus group 2), small-sample-bias corrected.","magnitude":"medium","name":"hedges_g"},"groups":[{"excess_kurtosis":1.321175095569083,"iqr":0.6054999999999999,"max":3.49,"mean":1.616075,"median":1.53,"min":0.706,"n":40,"n_missing":0,"name":"a","q1":1.2615,"q3":1.867,"range":2.7840000000000003,"sd":0.6162985202202266,"sem":0.09744535212436263,"skewness":1.048731634728758,"sum":64.643,"variance":0.379823866025641},{"excess_kurtosis":0.04642016168331464,"iqr":0.6935000000000002,"max":3.431,"mean":1.9785000000000004,"median":1.863,"min":0.972,"n":40,"n_missing":0,"name":"b","q1":1.5082499999999999,"q3":2.20175,"range":2.459,"sd":0.6441136625289128,"sem":0.10184331228122076,"skewness":0.842353075349212,"sum":79.14000000000001,"variance":0.4148824102564102}],"mean_difference":-0.36242500000000044,"notes":[],"p_two_sided":0.012038400794537765,"p_value":0.012038400794537765,"significant":true,"source":{"kind":"arrays"},"statistic":-2.5712530613912863,"test":"welch"},"error":null},{"label":"stats.mannwhitney","method":"stats.mannwhitney","params":{},"result":{"alpha":0.05,"alternative":"two_sided","assumptions":{"note":"Distribution-free: no normality assumption. Observations must be independent both within and between groups, and the two distributions are assumed to have similar shape if the result is to be read as a median shift."},"effect_size":{"estimate":-0.351875,"interpretation":"P(x > y) - P(x < y) for a random pair, one value from each group. 0 means complete overlap.","magnitude":"medium","name":"cliffs_delta","rank_biserial_r":-0.35187500000000005},"groups":[{"excess_kurtosis":1.321175095569083,"iqr":0.6054999999999999,"max":3.49,"mean":1.616075,"median":1.53,"min":0.706,"n":40,"n_missing":0,"name":"a","q1":1.2615,"q3":1.867,"range":2.7840000000000003,"sd":0.6162985202202266,"sem":0.09744535212436263,"skewness":1.048731634728758,"sum":64.643,"variance":0.379823866025641},{"excess_kurtosis":0.04642016168331464,"iqr":0.6935000000000002,"max":3.431,"mean":1.9785000000000004,"median":1.863,"min":0.972,"n":40,"n_missing":0,"name":"b","q1":1.5082499999999999,"q3":2.20175,"range":2.459,"sd":0.6441136625289128,"sem":0.10184331228122076,"skewness":0.842353075349212,"sum":79.14000000000001,"variance":0.4148824102564102}],"interpretation":"Distributions significantly differ (U = 518.5, Z = -2.704, p = 0.0069)","notes":[],"p_two_sided":0.006851947437385262,"p_value":0.006851947437385262,"sample_sizes":[40,40],"significant":true,"source":{"kind":"arrays"},"statistic":518.5,"test":"Mann-Whitney U"},"error":null},{"label":"stats.adjust","method":"stats.adjust","params":{"method":"holm"},"result":{"alpha":0.05,"controls":"familywise_error_rate","method":"holm","n_significant_adjusted":3,"n_significant_raw":3,"n_tests":3,"notes":[],"results":[{"adjusted":6.010398794939695e-06,"index":0,"label":"Control vs Drug A","p_value":3.0051993974698473e-06,"significant":true},{"adjusted":9.799505820414955e-11,"index":1,"label":"Control vs Drug B","p_value":3.2665019401383184e-11,"significant":true},{"adjusted":0.012038400794537763,"index":2,"label":"Drug A vs Drug B","p_value":0.012038400794537763,"significant":true}],"source":{"kind":"p_values"}},"error":null},{"label":"stats.adjust","method":"stats.adjust","params":{"method":"benjamini_hochberg"},"result":{"alpha":0.05,"controls":"false_discovery_rate","method":"benjamini_hochberg","n_significant_adjusted":3,"n_significant_raw":3,"n_tests":3,"notes":[],"results":[{"adjusted":4.507799096204771e-06,"index":0,"label":"Control vs Drug A","p_value":3.0051993974698473e-06,"significant":true},{"adjusted":9.799505820414955e-11,"index":1,"label":"Control vs Drug B","p_value":3.2665019401383184e-11,"significant":true},{"adjusted":0.012038400794537765,"index":2,"label":"Drug A vs Drug B","p_value":0.012038400794537763,"significant":true}],"source":{"kind":"p_values"}},"error":null},{"label":"stats.adjust","method":"stats.adjust","params":{"method":"holm"},"result":{"alpha":0.05,"controls":"familywise_error_rate","method":"holm","n_significant_adjusted":3,"n_significant_raw":3,"n_tests":3,"notes":[],"results":[{"adjusted":4.8329133683509835e-06,"index":0,"label":"Control vs Drug A","p_value":2.4164566841754917e-06,"significant":true},{"adjusted":3.109084629368083e-10,"index":1,"label":"Control vs Drug B","p_value":1.0363615431226944e-10,"significant":true},{"adjusted":0.006851947437385262,"index":2,"label":"Drug A vs Drug B","p_value":0.006851947437385262,"significant":true}],"source":{"kind":"p_values"}},"error":null},{"label":"stats.adjust","method":"stats.adjust","params":{"method":"benjamini_hochberg"},"result":{"alpha":0.05,"controls":"false_discovery_rate","method":"benjamini_hochberg","n_significant_adjusted":3,"n_significant_raw":3,"n_tests":3,"notes":[],"results":[{"adjusted":3.6246850262632374e-06,"index":0,"label":"Control vs Drug A","p_value":2.4164566841754917e-06,"significant":true},{"adjusted":3.109084629368083e-10,"index":1,"label":"Control vs Drug B","p_value":1.0363615431226944e-10,"significant":true},{"adjusted":0.006851947437385261,"index":2,"label":"Drug A vs Drug B","p_value":0.006851947437385262,"significant":true}],"source":{"kind":"p_values"}},"error":null},{"label":"stats.power","method":"stats.power","params":{"n1":40,"n2":40,"mode":"mde","power":0.8},"result":{"alpha":0.05,"effect_size":0.6342985291382206,"interpretation":"Power is the probability of rejecting the null when an effect of this size is real. Computing it from the effect you already observed ('observed power') is circular — plan with an effect size from a pilot or the literature, and report the MDE after.","mode":"mde","n1":40,"n2":40,"n_total":80,"notes":["With n1 = 40 and n2 = 40 at alpha = 0.05, an effect smaller than d = 0.634 would be missed more than 20% of the time. A null result from this design rules out effects LARGER than that, not effects in general."],"power":0.8,"source":{"kind":"parameters"},"test":"two-sample t-test, two-sided"},"error":null},{"label":"stats.power","method":"stats.power","params":{"n1":40,"n2":40,"effect_size":0.5},"result":{"alpha":0.05,"effect_size":0.5,"interpretation":"Power is the probability of rejecting the null when an effect of this size is real. Computing it from the effect you already observed ('observed power') is circular — plan with an effect size from a pilot or the literature, and report the MDE after.","mode":"power","n1":40,"n2":40,"n_total":80,"notes":["Power is 0.60, below the conventional 0.8: this design would miss a true effect of d = 0.5 more than 40% of the time."],"power":0.5981469011398297,"source":{"kind":"parameters"},"test":"two-sample t-test, two-sided"},"error":null},{"label":"stats.power","method":"stats.power","params":{"n1":40,"n2":40,"effect_size":0.8},"result":{"alpha":0.05,"effect_size":0.8,"interpretation":"Power is the probability of rejecting the null when an effect of this size is real. Computing it from the effect you already observed ('observed power') is circular — plan with an effect size from a pilot or the literature, and report the MDE after.","mode":"power","n1":40,"n2":40,"n_total":80,"notes":[],"power":0.9421818397484092,"source":{"kind":"parameters"},"test":"two-sample t-test, two-sided"},"error":null},{"label":"stats.power","method":"stats.power","params":{"n1":40,"n2":40,"effect_size":1.2},"result":{"alpha":0.05,"effect_size":1.2,"interpretation":"Power is the probability of rejecting the null when an effect of this size is real. Computing it from the effect you already observed ('observed power') is circular — plan with an effect size from a pilot or the literature, and report the MDE after.","mode":"power","n1":40,"n2":40,"n_total":80,"notes":[],"power":0.9995803951581966,"source":{"kind":"parameters"},"test":"two-sample t-test, two-sided"},"error":null}]}