1+ use crate :: testing:: utils:: { extract_unique_groups, get_group_indices} ;
2+ use crate :: testing:: {
3+ Alternative , MultipleTestResults , TTestType , TestMethod , TestResult , correction,
4+ } ;
15use nalgebra_sparse:: CsrMatrix ;
26use single_utilities:: traits:: FloatOpsTS ;
3- use crate :: testing:: { correction, Alternative , MultipleTestResults , TTestType , TestMethod , TestResult } ;
4- use crate :: testing:: utils:: { extract_unique_groups, get_group_indices} ;
57
68pub mod discrete;
79
2022 test_type : TTestType ,
2123 ) -> anyhow:: Result < Vec < TestResult < f64 > > > ;
2224
23-
2425 fn mann_whitney_test (
2526 & self ,
2627 group1_indices : & [ usize ] ,
@@ -37,20 +38,16 @@ where
3738
3839impl < T > MatrixStatTests < T > for CsrMatrix < T >
3940where
40- T : FloatOpsTS
41+ T : FloatOpsTS ,
42+ f64 : std:: convert:: From < T > ,
4143{
4244 fn t_test (
4345 & self ,
4446 group1_indices : & [ usize ] ,
4547 group2_indices : & [ usize ] ,
4648 test_type : TTestType ,
4749 ) -> anyhow:: Result < Vec < TestResult < f64 > > > {
48- parametric:: t_test_matrix_groups (
49- self ,
50- group1_indices,
51- group2_indices,
52- test_type
53- )
50+ parametric:: t_test_matrix_groups ( self , group1_indices, group2_indices, test_type)
5451 }
5552
5653 fn mann_whitney_test (
@@ -79,19 +76,14 @@ where
7976 match test_method {
8077 TestMethod :: TTest ( test_type) => {
8178 // Run t-tests
82- let results = self . t_test (
83- & group1_indices,
84- & group2_indices,
85- test_type,
86- ) ?;
79+ let results = self . t_test ( & group1_indices, & group2_indices, test_type) ?;
8780
8881 // Extract statistics and p-values
8982 let statistics: Vec < _ > = results. iter ( ) . map ( |r| r. statistic ) . collect ( ) ;
9083 let p_values: Vec < _ > = results. iter ( ) . map ( |r| r. p_value ) . collect ( ) ;
9184
9285 // Apply multiple testing correction
93- let adjusted_p_values =
94- correction:: benjamini_hochberg_correction ( & p_values) ?;
86+ let adjusted_p_values = correction:: benjamini_hochberg_correction ( & p_values) ?;
9587
9688 // Extract effect sizes if available
9789 let effect_sizes = results
@@ -127,8 +119,7 @@ where
127119 let p_values: Vec < _ > = results. iter ( ) . map ( |r| r. p_value ) . collect ( ) ;
128120
129121 // Apply multiple testing correction
130- let adjusted_p_values =
131- correction:: benjamini_hochberg_correction ( & p_values) ?;
122+ let adjusted_p_values = correction:: benjamini_hochberg_correction ( & p_values) ?;
132123
133124 Ok ( MultipleTestResults :: new ( statistics, p_values)
134125 . with_adjusted_p_values ( adjusted_p_values)
@@ -139,4 +130,4 @@ where
139130 _ => Err ( anyhow:: anyhow!( "Test method not implemented yet" ) ) ,
140131 }
141132 }
142- }
133+ }
0 commit comments