"+ -1" equivalence with "-1" in patsy formula?
As per patsy's documentation, the following results in a design matrix with no intercept:
>>> patsy.dmatrix('a + b - 1',
pandas.DataFrame({'a':[1,2], 'b':[3,4]}))
DesignMatrix with shape (2, 2)
a b
1 3
2 4
Terms:
'a' (column 0), 'b' (column 1)
The documentation seems to imply that appending + -1 to the formula a + b should have the same effect as appending '-1'; however, it doesn't seem that the intercept is removed for the former:
>>> patsy.dmatrix('a + b + -1',
pandas.DataFrame({'a':[1,2],'b':[3,4]}))
DesignMatrix with shape (2, 3)
Intercept a b
1 1 3
1 2 4
Terms:
'Intercept' (column 0)
'a' (column 1)
'b' (column 2)
Is the above expected?
I'm using patsy 0.5.1 with python 3.7.6 and pandas 1.0.5.
Thanks for reporting this @lebedov. This does look like a bug, and despite the feature freeze, probably one worth patching. I'll look into it when I get a chance.
Note that this works in patsy's upcoming successor Formulaic as expected:
from formulaic import Formula
Formula('a + b + -1') # Outputs: a + b
Thanks for letting me know about Formulaic!