ó
áp7]c           @  s,   d  d l  m Z d  d l Z d d „ Z d S(   iÿÿÿÿ(   t   print_functionNc         C  sB  t  |  t j ƒ r- |  j d k r- |  j }  n  t |  ƒ } t |  d ƒ } | sh t j |  d ƒ j } n  t j | | f d | ƒ} d } d } g  } g  }	 g  }
 x~ t	 |  | ƒ D]m \ } } | | d d … | f <t j
 j | ƒ } | | k r| j | ƒ | } | d 7} q± |	 j | ƒ q± W| d d … d | … f | f S(   sò   
    construct array with independent columns

    x is either iterable (list, tuple) or instance of ndarray or a subclass
    of it.  If x is an ndarray, then each column is assumed to represent a
    variable with observations in rows.
    i   i    t   dtypeNi   (   t
   isinstancet   npt   ndarrayt   ndimt   Tt   lent   asarrayR   t   zerost   zipt   linalgt   matrix_rankt   append(   t   xt   varnamesR   t
   nvars_origt   nobst   xoutt   countt   rank_oldt   varnames_newt   varnames_droppedt   keepindxt   xit   nit   rank_new(    (    s7   lib/python2.7/site-packages/statsmodels/tools/catadd.pyt	   add_indep   s*    
!(   t
   __future__R    t   numpyR   t   NoneR   (    (    (    s7   lib/python2.7/site-packages/statsmodels/tools/catadd.pyt   <module>   s   