
    M/Ph                         d dl Z d dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
mZ d dlmZ  G d d          Zd Z G d	 d
          ZdS )    N)assert_equal)summary_col)add_constant)OLSc                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )TestSummaryLatexc                 8   d}g d}t          |          }g d}g d}t          ||                                          }t          ||                                          }t          ||g                                          }d|z  }t          ||           d S Na  
\begin{table}
\caption{}
\label{}
\begin{center}
\begin{tabular}{lll}
\hline
               & y I      & y II      \\
\hline
const          & 7.7500   & 12.4231   \\
               & (1.1058) & (3.1872)  \\
x1             & -0.7500  & -1.5769   \\
               & (0.2368) & (0.6826)  \\
R-squared      & 0.7697   & 0.6401    \\
R-squared Adj. & 0.6930   & 0.5202    \\
\hline
\end{tabular}
\end{center}
\end{table}
\bigskip
Standard errors in parentheses.
            r            r   r      r   r      r   z
%s
)r   r   fitr   as_latexr   selfdesiredxy1y2reg1reg2actuals           e/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/iolib/tests/test_summary2.pytest_summarycolz TestSummaryLatex.test_summarycol   s    , OOOO__2qzz~~2qzz~~dD\**3355F"Wf%%%%%    c                    d}g d}t          |          }g d}g d}t          ||                                          }t          ||                                          }t          ||gd                                          }d|z  }t          ||gdd	          }d
t          |          v sJ dt          |          v sJ dt          |          vsJ t          ||           d S )Na/  
==========================
                y I   y II
--------------------------
const          7.7   12.4 
               (1.1) (3.2)
x1             -0.7  -1.6 
               (0.2) (0.7)
R-squared      0.8   0.6  
R-squared Adj. 0.7   0.5  
==========================
Standard errors in
parentheses.
r   r   r   z%0.1ffloat_formatz%s
T)starsr'   z7.7***z12.4**z12.4***)r   r   r   r   as_textstrr   )	r   r   r   r   r   r   r    r!   starreds	            r"   test_summarycol_float_formatz-TestSummaryLatex.test_summarycol_float_format1   s     OOOO__2qzz~~2qzz~~dD\@@@HHJJ&tTl$WMMM3w<<''''3w<<''''G,,,,VW%%%%%r$   c           
         g d}t          |          }t          j        |t          j        dgdgdgdgdgg          gd          }g d}g d	}t	          ||                                          }t	          ||                                          }t          ||gd
dgd          }dt          |          vsJ t          ||gdgd          }d
t          |          v sJ dt          |          v sJ d S )Nr   r   	   r   r   r   r   r   constx1T)regressor_orderdrop_omittedx2F)r   npconcatenatearrayr   r   r   r*   )r   r   r4   r   r   r   r    r!   s           r"   test_summarycol_drop_omittedz-TestSummaryLatex.test_summarycol_drop_omittedQ   s   OOOO^Q1#sRD1#s)C D DEqII__2qzz~~2r{{  dD\GT?*.0 0 03v;;&&&&dD\D6*/1 1 1#f++%%%%s6{{""""""r$   c           
      h   g d}t          |          }t          j        |t          j        dgdgdgdgdgg          gd          }t	          j        |g d	          }g d
}g d}t          ||                                          }t          ||                                          }d d d}t          ||gd          x}}	t          ||gddgd|          }	d}
t          |          
                    d          D ]/}|
D ]*}|                    |          r|t          |	          v sJ +0d S )Nr   r   r.   r/   r   r   r   )r0   ba)columnsr   r   c                 .    t          | j                  dS )Nz.3f)intrsquaredr   s    r"   <lambda>zFTestSummaryLatex.test_summary_col_ordering_preserved.<locals>.<lambda>m   s    AJ%=%= r$   c                 .    t          | j                  dS )Nd)r>   nobsr@   s    r"   rA   zFTestSummaryLatex.test_summary_col_ordering_preserved.<locals>.<lambda>n   s    s16{{$6$6 r$   )R2Nz%0.4fr&   r;   r:   )r2   r'   	info_dict
)r   r5   r6   r7   pd	DataFramer   r   r   r*   split
startswith)r   r   r4   r   r   r   r    rG   originalr!   	variableslinevariables                r"   #test_summary_col_ordering_preservedz4TestSummaryLatex.test_summary_col_ordering_preservedb   su   OOOO^Q1#sRD1#s)C D DEqII\"&9&9&9:::__2r{{  2r{{  ==668 8	't7KKKK6dD\C:*1'02 2 2 (	MM''-- 	/ 	/D% / /??8,, /3v;;..../	/ 	/r$   c                 8   d}g d}t          |          }g d}g d}t          ||                                          }t          ||                                          }t          ||g                                          }d|z  }t          ||           d S r
   )r   r   r   r   _repr_latex_r   r   s           r"   test__repr_latex_z"TestSummaryLatex.test__repr_latex_y   s    , OOOO__2qzz~~2qzz~~dD\**7799F"VW%%%%%r$   c                 Z   g d}t          |          }g d}t          ||                                          }t          j                    5  t          j        d           |                                                                }d d d            n# 1 swxY w Y   d}||v }|du sJ d S )Nr   r   ignorez\end{tabular}
\begin{tabular}T)r   r   r   warningscatch_warningssimplefiltersummaryr   )r   r   r   r   r!   string_to_findresults          r"   test_OLSsummaryz TestSummaryLatex.test_OLSsummary   s     OOOO__2qzz~~$&& 	/ 	/!(+++\\^^,,..F	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/6)$s   ;BBBN)	__name__
__module____qualname__r#   r,   r8   rQ   rT   r]    r$   r"   r   r      sq         &  &  &D& & &@# # #"/ / /. &  &  &D         r$   r   c                  ~   g d} g d}t          |t          |                                                     }d}t          j        t
                    5  |t          |                                          v sJ 	 d d d            n# 1 swxY w Y   t          j        t
                    5  |t          |                                          v sJ 	 d d d            n# 1 swxY w Y   t          || d                                          }d}t          j        t
                    5  |t          |                                          v sJ 	 d d d            n# 1 swxY w Y   t          j        t
                    5  |t          |                                          v sJ 	 d d d            d S # 1 swxY w Y   d S )N)r   r   r   r   r   r   r   r   )r   r   r   r   r   r.   
   r   z
R-squared:F)hasconstzR-squared (uncentered):)	r   r   r   pytestwarnsUserWarningr*   summary2rZ   )r   yreg_with_constantr2_strreg_without_constants        r"   test_ols_summary_rsquared_labelrm      s      A!!!AA|A//3355F	k	"	" ; ;.7799:::::::; ; ; ; ; ; ; ; ; ; ; ; ; ; ;	k	"	" : :.66889999999: : : : : : : : : : : : : : : q!e44488::&F	k	"	" > >1::<<=======> > > > > > > > > > > > > > >	k	"	" = =199;;<<<<<<<= = = = = = = = = = = = = = = = = =sH   &BB
B
*&CC!$C!'&EE!E>&F22F69F6c                   4    e Zd ZdZed             Zd Zd ZdS )TestSummaryLabelsz@
    Test that the labels are correctly set in the summary tablec                     g ddz  }t          g ddz            }t          ||                                          | _        d S )N)r   r   r   r   r   )r   r   r   r   )endogexog)r   r   r   mod)clsri   r   s      r"   setup_classzTestSummaryLabels.setup_class   sJ    LL1)**AA&&&**,,r$   c                 ~    t          | j        d          }dt          |          v sJ dt          |          v sJ d S )NTresults
include_r2zR-squared  R-squared Adj.r   rs   r*   r   tables     r"   test_summary_col_r2z%TestSummaryLabels.test_summary_col_r2   sJ    DH>>>E

****3u::------r$   c                 ~    t          | j        d          }dt          |          vsJ dt          |          vsJ d S )NFrw   z	R-squaredrz   r{   r|   s     r"   test_absence_of_r2z$TestSummaryLabels.test_absence_of_r2   sJ    DH???#e**,,,,s5zz111111r$   N)r^   r_   r`   __doc__classmethodru   r~   r   ra   r$   r"   ro   ro      sY        C C - - [-
. . .2 2 2 2 2r$   ro   )rW   numpyr5   pandasrI   re   numpy.testingr   statsmodels.iolib.summary2r   statsmodels.tools.toolsr   #statsmodels.regression.linear_modelr   r   rm   ro   ra   r$   r"   <module>r      s              & & & & & & 2 2 2 2 2 2 0 0 0 0 0 0 3 3 3 3 3 3\  \  \  \  \  \  \  \ ~= = =&2 2 2 2 2 2 2 2 2 2r$   