Exemplo n.º 1
0
def build_model_pre(formula, metadata, family, custom_code_lengths):
    assert type(formula) == Formula
    assert type(metadata) == Metadata
    assert type(family) == Family
    assert set(allfactors(formula)).issubset(set(col.name for col in metadata.columns))

    check_family_matches_response(formula, metadata, family)

    p = PopulationPre(coef_names(formula.terms, metadata, custom_code_lengths))

    gs = []
    for group in formula.groups:
        assert all(type(metadata.column(col)) == Categorical for col in group.columns), 'grouping columns must be a factor'
        coefs = coef_names(group.terms, metadata, custom_code_lengths)
        g = GroupPre(group.columns, metadata.levels(group.columns), coefs, group.corr and len(coefs) > 1)
        gs.append(g)

    response = ResponsePre(family, nonlocparams(family))
    return ModelDescPre(p, gs, response)
Exemplo n.º 2
0
def expand_columns(formula, cols):
    lookup = make_column_lookup(cols)
    return [
        lookup.get(factor, RealValued(factor))
        for factor in allfactors(formula)
    ]
Exemplo n.º 3
0
def dummy_design(formula, metadata, N):
    assert type(formula) == Formula
    assert type(metadata) == dict
    assert set(allfactors(formula)).issubset(metadata.keys())
    return makedata(formula, dummy_df(metadata, N))