예제 #1
0
 def test_factor3(self):
     f = ['a', 'b', 'c'] * 10
     fac = formula.Factor('ff', f)
     fac.namespace = {'ff': f}
     m = fac.main_effect(reference=1)
     m.namespace = fac.namespace
     self.assertEquals(m().shape, (2, 30))
예제 #2
0
    def test_ordinal_factor2(self):
        f = ['b', 'c', 'a'] * 3
        fac = formula.Factor('ff', ['a', 'b', 'c'], ordinal=True)
        fac.namespace = {'ff': f}

        assert_equal(fac(), [1, 2, 0] * 3)
        assert_equal(fac['a'], [0, 0, 1] * 3)
        assert_equal(fac['b'], [1, 0, 0] * 3)
        assert_equal(fac['c'], [0, 1, 0] * 3)
예제 #3
0
    def test_factor5(self):
        f = ['a', 'b', 'c'] * 3
        fac = formula.Factor('ff', f)
        fac.namespace = {'ff': f}

        assert_equal(fac(), [[1, 0, 0] * 3, [0, 1, 0] * 3, [0, 0, 1] * 3])
        assert_equal(fac['a'], [1, 0, 0] * 3)
        assert_equal(fac['b'], [0, 1, 0] * 3)
        assert_equal(fac['c'], [0, 0, 1] * 3)
예제 #4
0
 def test_factor4(self):
     f = ['a', 'b', 'c'] * 10
     fac = formula.Factor('ff', f)
     fac.namespace = {'ff': f}
     m = fac.main_effect(reference=2)
     m.namespace = fac.namespace
     r = np.array([np.identity(3)] * 10)
     r.shape = (30, 3)
     r = r.T
     _m = np.array([r[0] - r[2], r[1] - r[2]])
     assert_almost_equal(_m, m())
예제 #5
0
#Other
#-----
'''Exception if there is no data or key:
>>> contrast.Contrast(formula.Term('a'), f2).matrix
Traceback (most recent call last):
  File "c:\..\scikits\statsmodels\sandbox\contrast_old.py", line 112, in _get_matrix
    self.compute_matrix()
  File "c:\...\scikits\statsmodels\sandbox\contrast_old.py", line 91, in compute_matrix
    T = np.transpose(np.array(t(*args, **kw)))
  File "c:\...\scikits\statsmodels\sandbox\formula.py", line 150, in __call__
    If the term has no 'func' attribute, it returns
KeyError: 'a'
'''

f = ['a'] * 3 + ['b'] * 3 + ['c'] * 2
fac = formula.Factor('ff', f)
fac.namespace = {'ff': f}

#Example: formula with factor

# I don't manage to combine factors with formulas, e.g. a joint
# designmatrix
# also I don't manage to get contrast matrices with factors
# it looks like I might have to add namespace for dummies myself ?
# even then combining still doesn't work

f5 = formula.Term('A') + fac
namespace['A'] = form.namespace['A']

formula.Formula(fac).design()
'''
예제 #6
0
 def test_factor2(self):
     f = ['a', 'b', 'c'] * 10
     fac = formula.Factor('ff', f)
     fac.namespace = {'ff': f}
     self.assertEquals(fac().shape, (3, 30))
예제 #7
0
 def test_factor1(self):
     f = ['a', 'b', 'c'] * 10
     fac = formula.Factor('ff', f)
     fac.namespace = {'ff': f}
     self.assertEquals(list(fac.values()), f)