
p7]c        `   @   s  d  d l  Z d  d l Z d  d l m Z d  d l m Z m Z m	 Z	 d  d l
 m Z d d d d d d	 d d d d
 d d
 d d d
 d
 d	 d d d
 d d d
 d d d d
 d d d
 d	 d	 d d d d d d d
 d d d d d d d d d d d d d	 d d d d	 d d d d d d d d d d d d d d
 d d d d d d d d d d d d d d d	 d d d d d d d d d	 d d g` Z d d d d d d d d	 d d d d d d d d	 d d d d d d d d	 d d d d d d d d	 d d d d d d d d	 d d d d d d d d	 d d d d d d d d	 d d d d d d d d	 d d d d d d d d	 d d d d d d d d	 d d d d d d d d	 d d d d d d d d	 g` Z g  e D] Z d e ^ qZ d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d g` Z d d d d d d d d d d d d d d d d d  d  d  d  d  d  d  d  d d d d d d d d d d d d d d d d d  d  d  d  d  d  d  d  d d d d d d d d d d d d d d d d d  d  d  d  d  d  d  d  d d d d d d d d d d d d d d d d d  d  d  d  d  d  d  d  g` Z d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d g` Z e j e e e e e g d! d" d# d$ d% d& g j Z e d& j d'  e d& <d(   Z d)   Z d*   Z d+   Z d,   Z d-   Z d.   Z d/   Z d0   Z d1   Z d2   Z  d S(3   iN(   t   AnovaRM(   t   assert_array_almost_equalt   assert_raisest   assert_equal(   t   assert_frame_equali   i   i   i   i   i   i	   i
   i   i   i   i   i   i   i   i   i   i   i   i   i   i   i   i   s   %dt   at   bt   ct   indext   idt   At   Bt   Dt   DVt   intc          C   s   t  t j d d  d d  f d d d d g j   }  d d d	 d
 g g } t |  j j d d  d d d d g f j | d d d S(   ss   
    Testing single factor repeated measures anova
    Results reproduces R `ezANOVA` function from library ez
    Ni   R   R	   t   withinR   i   i   gffffff6@gZeia?i   i    i   t   decimali   (   R    t   datat   iloct   fitR   t   anova_tablet   values(   t   dfR   (    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova_rm.pyt*   test_single_factor_repeated_measures_anovaP   s    :+c          C   s   t  t j d d  d d  f d d d d d g j   }  d d	 d
 d g d d d d g d d d d g g } t |  j j d d  d d d d g f j | d d d S(   sq   
    Testing two factors repeated measures anova
    Results reproduces R `ezANOVA` function from library ez
    Ni0   R   R	   R   R
   R   i   i   ggD@gfͯ9?i   i   g:zަ7=@g{&#<!>g\m1@g&W5&?i    i   R   i   (   R    R   R   R   R   R   R   (   R   R   (    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova_rm.pyt(   test_two_factors_repeated_measures_anova[   s    =+c       
   C   s   t  t d d d d d d g j   }  d d d	 d
 g d d d d g d d d d g d d d d g d d d d g d d d d g d d d d g g } t |  j j d d  d d d d g f j | d d d S(   ss   
    Testing three factors repeated measures anova
    Results reproduces R `ezANOVA` function from library ez
    R   R	   R   R
   R   R   i   i   g>}_!@g^#Q?i   i   g<_E @g/Pho?g4@gt'f?g㖠?g]-Y(?gc5@g+5b?g@Û5x@gf&B?gHBA@gcabq?Ni    i   R   i   (   R    R   R   R   R   R   R   (   R   R   (    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova_rm.pyt*   test_three_factors_repeated_measures_anovah   s    '+c           C   s<   t  t t t j d d  d d  f d d d d g d S(   sE   
    Test with a factor name of 'C', which conflicts with patsy.
    Ni   R   R	   R   t   C(   R   t
   ValueErrorR    R   R   (    (    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova_rm.pyt*   test_repeated_measures_invalid_factor_namey   s    .c       	   C   sY   t  j d  d  d  d   f j   }  |  d |  d <t t t |  d d d d d g d  S(   Ni0   R
   t   ER   R	   R   (   R   R   t   copyR   R   R    (   t   data1(    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova_rm.pyt#   test_repeated_measures_collinearity   s    %c        	   C   s?   t  t t t j d d  d  d   f d d d d d g d  S(   Ni   i0   R   R	   R   R
   R   (   R   R   R    R   R   (    (    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova_rm.pyt&   test_repeated_measures_unbalanced_data   s    .c          C   sw   t  t d d d d d d g j   }  t  t j t  d d d d d d g d t j j   } t |  j | j  d  S(   NR   R	   R   R
   R   R   t   aggregate_func(   R    R   R   t   appendt   npt   meanR   R   (   t   df1t   df2(    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova_rm.pyt"   test_repeated_measures_aggregation   s    ''c          C   s   t  t d d d d d d g j   }  t  t j t j t d d k d  d   f  j   d d d d d d g d t j j   } t |  j	 | j	  d  S(	   NR   R	   R   R
   R   R   t   1R"   (
   R    R   R   R#   t   loct   reset_indexR$   R%   R   R   (   R&   R'   (    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova_rm.pyt9   test_repeated_measures_aggregation_one_subject_duplicated   s
    '2c       
   C   s   t  t t t j t  d d d d d d g t t j t  d d d d d d g d t j }  t t j t  d d d d d d g d t j } t  t t	 |  j
 | j
  t |  j   j | j   j  d  S(   NR   R	   R   R
   R   R   R"   (   R   R   R    R   R#   R$   R%   t   mediant   AssertionErrorR   R"   R   R   R   (   t   m1t   m2(    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova_rm.pyt%   test_repeated_measures_aggregate_func   s    ''	c          C   sz   t  t j t  d d d d d d g d t j }  t  t j t  d d d d d d g d d } t |  j | j  d  S(	   NR   R	   R   R
   R   R   R"   R%   (   R    R   R#   R$   R%   R   R"   (   R/   R0   (    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova_rm.pyt*   test_repeated_measures_aggregate_func_mean   s
    ''	c          C   s  t  j i d d d d d d d g d 6d	 d
 d	 d
 d	 d
 d
 g d 6d d d d d d d g d 6d d d d d d d g d 6d t  j d d d d d d d g  }  |  d d d d g }  t t j t  d d  d! d d d g d" t j j   j	 } t
 |  | d# t d  S($   Ng>}_!@g<_E @g4@g㖠?gc5@g@Û5x@gHBA@s   F Valuei   i   s   Num DFi   i   s   Den DFg^#Q?g/Pho?gt'f?g]-Y(?g+5b?gf&B?gcabq?s   Pr > FR   R
   R   R   s   A:Bs   A:Ds   B:Ds   A:B:DR   R	   R   R"   t   check_dtype(   t   pdt	   DataFramet   IndexR    R   R#   R$   R%   R   R   R   t   False(   t   ezR   (    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova_rm.pyt5   test_repeated_measures_aggregate_compare_with_ezANOVA   s    ''(!   t   pandasR4   t   numpyR$   t   statsmodels.stats.anovaR    t   numpy.testingR   R   R   t   pandas.util.testingR   R   R	   t   iR
   R   R   R5   t   TR   t   astypeR   R   R   R   R    R!   R(   R,   R1   R2   R9   (    (    (    sD   lib/python2.7/site-packages/statsmodels/stats/tests/test_anova_rm.pyt   <module>   s   6											
