
    M/Pha                     4   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d eD             Zg dZg d	Zg d
Z ej        eeeee
gg d          j        Zed                             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dS )    )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   c                     g | ]}d |z  S )z%d ).0is     e/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/stats/tests/test_anova_rm.py
<listcomp>r%   &   s    1dQh    )`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                                          } g dg}t	          | j        j        ddg df         j        |d	
           dS )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     r$   *test_single_factor_repeated_measures_anovar@   S   s    
 
3B36"D$u	=	=	=	A	A	C	CB	"	"	"#Abn1!!!\\\/BI, , , , , ,r&   c                      t          t          j        ddddf         ddddg                                          } g dg d	g d
g}t	          | j        j        ddg df         j        |d           dS )zq
    Testing two factors repeated measures anova
    Results reproduces R `ezANOVA` function from library ez
    N0   r.   r*   r+   r,   r3   )r   r   ggD@gfͯ9?)r   r   g:zަ7=@g{&#<!>)r   r   g\m1@g&W5&?r5   r   r6   r8   r>   s     r$   (test_two_factors_repeated_measures_anovarC   ^   s    
 
3B36"D$Sz	B	B	B	F	F	H	HB	'	'	'	(	(	(	(	(	(	*A bn1!!!\\\/BI, , , , , ,r&   c                      t          t          ddg d                                          } 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           dS )zs
    Testing three factors repeated measures anova
    Results reproduces R `ezANOVA` function from library ez
    r.   r*   r+   r,   r-   r3   )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?Nr5   r   r6   )r   r9   r;   r   r<   r:   r=   r>   s     r$   *test_three_factors_repeated_measures_anovarT   k   s    
 
tT///	:	:	:	>	>	@	@B	'	'	'	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(	(	*A bn1!!!\\\/BI, , , , , ,r&   c                  r    t          t          t          t          j        ddddf         dddg           dS )zE
    Test with a factor name of 'C', which conflicts with patsy.
    Nr   r.   r*   Cr3   r   
ValueErrorr   r9   r:   r!   r&   r$   *test_repeated_measures_invalid_factor_namerY   |   sG     *gty"aaa'8$           r&   c            	          t           j        d dd d f                                         } | d         | d<   t          t          t
          | ddddg           d S )NrB   r+   Er.   r*   r3   )r9   r:   copyr   rX   r   )data1s    r$   #test_repeated_measures_collinearityr^      sX    Icrc111f""$$EsE#J*gudD#sLLLLLLr&   c            	      t    t          t          t          t          j        ddd d f         ddddg           d S )Nr   rB   r.   r*   r+   r,   r3   rW   r!   r&   r$   &test_repeated_measures_unbalanced_datar`      sG    *gty2qqq'94s% % % % % %r&   c                  D   t          t          ddg d                                          } t          j        t          t          gd          }t          |ddg dt          j        j                                                  }t          | j        |j                   d S )Nr.   r*   rE   r3   r   axisr4   aggregate_func)	r   r9   r;   pdconcatSeriesmeanr   r<   )df1double_datadf2s      r$   "test_repeated_measures_aggregationrm      s    
$d???
;
;
;
?
?
A
AC)T4Lq111K
+tT///!#1 1 114  s88888r&   c                     t          t          ddg d                                          } t          j        t          t          j        t          d         dk    d d f         gd          }|                                }t          |ddg dt          j        j                                                  }t          | j
        |j
                   d S )	Nr.   r*   rE   r3   1r   rb   rd   )r   r9   r;   rf   rg   locreset_indexrh   ri   r   r<   )rj   data2rl   s      r$   9test_repeated_measures_aggregation_one_subject_duplicatedrs      s    
$d???
;
;
;
?
?
A
ACItTXd4jC&7&:;<1EEEEE
%___!#1 1 114  s8888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                   d S )Nr   rb   r.   r*   rE   r3   rd   )rf   rg   r9   r   rX   r   rh   ri   medianAssertionErrorr   re   r   r;   r<   rk   m1m2s      r$   %test_repeated_measures_aggregate_funcrz      s    )T4Lq111K*g{D$(* * * * 
dD "	
0 
0 
0B	dD "	 0
2 
2 
2B .,#R%68 8 8rvvxx+RVVXX-ABBBB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                   d S )Nr   rb   r.   r*   rE   rd   ri   )rf   rg   r9   r   rh   ri   r   re   rw   s      r$   *test_repeated_measures_aggregate_func_meanr|      s    )T4Lq111K	dD "	
0 
0 
0B 
dD &
( 
( 
(B "B$566666r&   c                  h   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	        }t          | |d           d S )N)rF   rH   rJ   rL   rN   rP   rR   )r   r   r   r   r   r   r   )r   r   r   r   r   r   r   )rG   rI   rK   rM   rO   rQ   rS   )zF ValuezNum DFzDen DFzPr > F)r+   r,   r-   zA:BzA:DzB:DzA:B:Dr/   r   rb   r.   r*   rE   rd   F)check_dtype)rf   	DataFrameIndexrg   r9   r   rh   ri   r;   r<   r   )ezrk   r?   s      r$   5test_repeated_measures_aggregate_compare_with_ezANOVAr      s    	+ + +(((,,,; ; ;		< 	< hDDDEE
G 
G 
GB 
555	6B)T4Lq111K
+tT///!#1 1 1355 
 r25111111r&   )statsmodels.compat.pandasr   numpy.testingr   r   r   pandasrf   statsmodels.stats.anovar   r.   r*   r+   r,   r-   r   Tr9   astyper@   rC   rT   rY   r^   r`   rm   rs   rz   r|   r   r!   r&   r$   <module>r      s   8 8 8 8 8 8         
     + + + + + +     - - -- - -- - - r|RAq"%-H-H-HIIIK$Zu%%T
, , ,
, 
, 
,, , ,"     M M M% % %
9 9 99 9 9C C C7 7 72 2 2 2 2r&   