o
    Ö­j>  ã                   @   s¸   d dl Z d dlZd dlmZmZ d dlmZ e j 	dddd dd dej
fd	d
d dejfg¡dd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Ze j 	dg d¢¡dd„ ƒZdd„ ZdS )é    N)Úassert_allcloseÚassert_equal)Úrelative_riskzGexposed_cases, exposed_total, control_cases, control_total, expected_rr)é   é   é   é   gUUUUUUå?)r   é
   é   é   r   r	   r   r
   é   c                 C   s"   t | |||ƒ}t|j |dd� d S )Ng‚vIhÂ%<=©Úrtol)r   r   )Úexposed_casesÚexposed_totalÚcontrol_casesÚcontrol_totalÚexpected_rrÚresult© r   úa/var/www/html/CropPilot/venv/lib/python3.10/site-packages/scipy/stats/tests/test_relative_risk.pyÚtest_relative_risk	   s   	ÿr   c                  C   sF   t ddddd�} | j }| jdd�}t|dƒ t|j|jfd	d
d� d S )Né   é€   é   é   ©r   r   r   r   gffffffî?)Úconfidence_levelgUUUUUUõ?)g´Úì‚ç?gãÃìe[@g�íµ ÷Æ >r   )r   Úconfidence_intervalr   ÚlowÚhigh©r   ÚrrÚcir   r   r   Ú&test_relative_risk_confidence_interval   s   ÿ
r$   c                  C   sH   t ddddd�} | j }t|ddd� |  d	¡}t|j|jfd
dd� d S )Nr   é   r
   é   r   ç       @g›+¡†›„=r   r   )r'   r'   gê-�™—q=)r   r   r   r   r    r!   r   r   r   Ú test_relative_risk_ci_conflevel0,   s   ÿ
r(   c                  C   s6   t ddddd�} |  d¡}t|j|jfdtjfƒ d S )Nr   r%   r
   r&   r   r   r   )r   r   r   r   r    ÚnpÚinf©r   r#   r   r   r   Ú test_relative_risk_ci_conflevel15   s
   ÿ
r,   c                  C   sD   t ddddd�} t| j tjƒ |  ¡ }t|j|jftjtjfƒ d S )Nr   r%   r&   r   )r   r   r)   Únanr   r   r    r+   r   r   r   Ú#test_relative_risk_ci_edge_cases_00<   ó   ÿr.   c                  C   s@   t ddddd�} t| j dƒ |  ¡ }t|j|jfdtjfƒ d S )Nr   r%   r   r&   r   g        )r   r   r   r   r    r)   r-   r+   r   r   r   Ú#test_relative_risk_ci_edge_cases_01D   s   ÿr0   c                  C   sD   t ddddd�} t| j tjƒ |  ¡ }t|j|jftjtjfƒ d S )Nr   r%   r   r&   r   )r   r   r)   r*   r   r   r    r-   r+   r   r   r   Ú#test_relative_risk_ci_edge_cases_10L   r/   r1   zec, et, cc, ct))r   r   r	   r   )éÿÿÿÿr	   r   r
   )r   r	   r   r   )r   r	   r2   r   c                 C   sB   t jtdd�� t| |||ƒ W d   ƒ d S 1 sw   Y  d S )Nz must be an integer not less than©Úmatch)ÚpytestÚraisesÚ
ValueErrorr   )ÚecÚetÚccÚctr   r   r   Útest_relative_risk_bad_valueT   s   "ÿr<   c                   C   sB   t jtdd�� tddddƒ W d   ƒ d S 1 sw   Y  d S )Nzmust be an integerr3   r   r	   r'   é(   )r5   r6   Ú	TypeErrorr   r   r   r   r   Útest_relative_risk_bad_type]   s   "ÿr?   )r5   Únumpyr)   Únumpy.testingr   r   Úscipy.stats.contingencyr   ÚmarkÚparametrizer-   r*   r   r$   r(   r,   r.   r0   r1   r<   r?   r   r   r   r   Ú<module>   s,    ýþ
	
