
    'YHha                     J   d dl mZ d dlmZmZmZ d dlZd dlm	Z	 g dZ
g dZeD  cg c]  } d| z  	 c} Zg dZg d	Zg d
Z ej                  eeeee
gg d      j                   Zed   j%                  d      ed<   d Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zyc c} w )    )assert_frame_equal)assert_array_almost_equalassert_equalassert_raisesN)AnovaRM)`         r
         r
   r   r      	   r   
   r   r   r   r      r   r      r   r   r      r   r   r   r   r   r   r   r   r      r   r   r   r   r         r            r   r      r	   r   r   r	   r   r
   r   r         r   r         r	   r	      r      r   r   r   r   r   r   r   r	   r   r   r   r   r   r   r	   r   r   r   r   r   r   r   r   r   r   r   r   r   )`r   r   r	   r   r   r
   r   r   r   r   r	   r   r   r
   r   r   r   r   r	   r   r   r
   r   r   r   r   r	   r   r   r
   r   r   r   r   r	   r   r   r
   r   r   r   r   r	   r   r   r
   r   r   r   r   r	   r   r   r
   r   r   r   r   r	   r   r   r
   r   r   r   r   r	   r   r   r
   r   r   r   r   r	   r   r   r
   r   r   r   r   r	   r   r   r
   r   r   r   r   r	   r   r   r
   r   r   z%d)`ar    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    br!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   )`r    r    r    r    r    r    r    r    r!   r!   r!   r!   r!   r!   r!   r!   cr"   r"   r"   r"   r"   r"   r"   r    r    r    r    r    r    r    r    r!   r!   r!   r!   r!   r!   r!   r!   r"   r"   r"   r"   r"   r"   r"   r"   r    r    r    r    r    r    r    r    r!   r!   r!   r!   r!   r!   r!   r!   r"   r"   r"   r"   r"   r"   r"   r"   r    r    r    r    r    r    r    r    r!   r!   r!   r!   r!   r!   r!   r!   r"   r"   r"   r"   r"   r"   r"   r"   )`r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r    r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   r!   )idABDDVindexr'   intc                      t        t        j                  ddddf   dddg      j                         } g dg}t	        | j
                  j                  ddg df   j                  |d	
       y)zs
    Testing single factor repeated measures anova
    Results reproduces R `ezANOVA` function from library ez
    Nr   r'   r#   r%   within)r   r   gffffff6@gZeia?r   r   r   r	   r   decimalr   datailocfitr   anova_tablevaluesdfr    s     ^/var/www/html/planif/env/lib/python3.12/site-packages/statsmodels/stats/tests/test_anova_rm.py*test_single_factor_repeated_measures_anovar:   S   s`    
 
3B36"D$u	=	A	A	CB	"#Abnn11!\/BII,    c                      t        t        j                  ddddf   ddddg      j                         } g dg d	g d
g}t	        | j
                  j                  ddg df   j                  |d       y)zq
    Testing two factors repeated measures anova
    Results reproduces R `ezANOVA` function from library ez
    N0   r'   r#   r$   r%   r,   )r   r   ggD@gfͯ9?)r   r   g:zަ7=@g{&#<!>)r   r   g\m1@g&W5&?r.   r   r/   r1   r7   s     r9   (test_two_factors_repeated_measures_anovar>   ^   sl    
 
3B36"D$Sz	B	F	F	HB	'	(	(	*A bnn11!\/BII,r;   c                      t        t        ddg d      j                         } g dg dg dg dg d	g d
g dg}t        | j                  j
                  ddg df   j                  |d       y)zs
    Testing three factors repeated measures anova
    Results reproduces R `ezANOVA` function from library ez
    r'   r#   r$   r%   r&   r,   )r   r   >}_!@^#Q?)r   r   <_E @/Pho?)r   r   4@t'f?)r   r   㖠?]-Y(?)r   r   c5@+5b?)r   r   @Û5x@f&B?)r   r   HBA@cabq?Nr.   r   r/   )r   r2   r4   r   r5   r3   r6   r7   s     r9   *test_three_factors_repeated_measures_anovarO   k   sc    
 
tT/	:	>	>	@B	'	(	(	(	(	(	(	*A bnn11!\/BII,r;   c                  f    t        t        t        t        j                  ddddf   dddg       y)zE
    Test with a factor name of 'C', which conflicts with patsy.
    Nr   r'   r#   Cr,   r   
ValueErrorr   r2   r3    r;   r9   *test_repeated_measures_invalid_factor_namerU   |   s,     *gtyy"a'8$ r;   c            	          t         j                  d dd d f   j                         } | d   | d<   t        t        t
        | ddddg       y )Nr=   r$   Er'   r#   r,   )r2   r3   copyr   rS   r   )data1s    r9   #test_repeated_measures_collinearityrZ      sD    IIcrc1f""$EsE#J*gudD#sLr;   c            	      h    t        t        t        t        j                  ddd d f   ddddg       y )Nr   r=   r'   r#   r$   r%   r,   rR   rT   r;   r9   &test_repeated_measures_unbalanced_datar\      s,    *gtyy2q'94s%r;   c                  <   t        t        ddg d      j                         } t        j                  t        t        gd      }t        |ddg dt        j
                  j                        j                         }t        | j                  |j                         y )Nr'   r#   r@   r,   r   axisr-   aggregate_func)	r   r2   r4   pdconcatSeriesmeanr   r5   )df1double_datadf2s      r9   "test_repeated_measures_aggregationri      sj    
$d?
;
?
?
AC))T4Lq1K
+tT/!#114  s8r;   c                     t        t        ddg d      j                         } t        j                  t        t        j
                  t        d   dk(  d d f   gd      }|j                         }t        |ddg dt        j                  j                        j                         }t        | j                  |j                         y )	Nr'   r#   r@   r,   1r   r^   r`   )r   r2   r4   rb   rc   locreset_indexrd   re   r   r5   )rf   data2rh   s      r9   9test_repeated_measures_aggregation_one_subject_duplicatedro      s    
$d?
;
?
?
ACIItTXXd4jC&7&:;<1EEE
%_!#114  s8r;   c            	         t        j                  t        t        gd      } t        t        t
        | ddg d       t        | ddg dt         j                  j                        }t        | ddg dt         j                  j                        }t        t        t        |j                  |j                         t        |j                         j                  |j                         j                         y )Nr   r^   r'   r#   r@   r,   r`   )rb   rc   r2   r   rS   r   rd   re   medianAssertionErrorr   ra   r   r4   r5   rg   m1m2s      r9   %test_repeated_measures_aggregate_funcrv      s    ))T4Lq1K*g{D$(* 
dD "		
0B	dD "		 0 0
2B .,##R%6%68rvvx++RVVX-A-ABr;   c                      t        j                  t        t        gd      } t        | ddg dt         j                  j
                        }t        | ddg dd      }t        |j                  |j                         y )Nr   r^   r'   r#   r@   r`   re   )rb   rc   r2   r   rd   re   r   ra   rs   s      r9   *test_repeated_measures_aggregate_func_meanrx      sb    ))T4Lq1K	dD "		
0B 
dD &
(B ""B$5$56r;   c                  f   t        j                  g dg dg dg ddt        j                  g d            } | g d   } t        j                  t        t        gd	      }t        |d
dg dt         j                  j                        j                         j                  }t        | |d       y )N)rA   rC   rE   rG   rI   rK   rM   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )rB   rD   rF   rH   rJ   rL   rN   )zF ValuezNum DFzDen DFzPr > F)r$   r%   r&   zA:BzA:DzB:DzA:B:Dr(   r   r^   r'   r#   r@   r`   F)check_dtype)rb   	DataFrameIndexrc   r2   r   rd   re   r4   r5   r   )ezrg   r8   s      r9   5test_repeated_measures_aggregate_compare_with_ezANOVAr~      s    	+(,;		< hhDE
GB 
5	6B))T4Lq1K
+tT/!#135; 
 r251r;   )statsmodels.compat.pandasr   numpy.testingr   r   r   pandasrb   statsmodels.stats.anovar   r'   r#   r$   r%   r&   r{   Tr2   astyper:   r>   rO   rU   rZ   r\   ri   ro   rv   rx   r~   )is   0r9   <module>r      s    8 
  + 1dQh--- r||RAq"%-HIKK$Zu%T
,
,," M%
99C72o s   B 