예제 #1
0
def convert_to_raw_data(data, dep_var, scalar_vars, cat_vars,
                        cat_var_treatment_vals):
    """
    Convert structured data to raw data, 
    e.g. categorical variable to dummies.
    """
    scalar_var_str = ' + '.join(scalar_vars)
    cat_var_str = ' + '.join(
        list(
            map(lambda x: 'C(%s, Treatment("%s"))' % (x[0], x[1]),
                zip(cat_vars, cat_var_treatment_vals))))
    var_str_list = list(
        filter(lambda x: x != '', [scalar_var_str, cat_var_str]))
    independent_var_str = ' + '.join(var_str_list)
    formula = f'{dep_var} ~ {independent_var_str}'
    #     print(formula)
    model = Logit.from_formula(formula, data)
    return model.exog, model.endog