Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug in i() interaction #211

Closed
s3alfisc opened this issue Nov 7, 2023 · 2 comments · Fixed by #212
Closed

Bug in i() interaction #211

s3alfisc opened this issue Nov 7, 2023 · 2 comments · Fixed by #212
Labels
bug Something isn't working

Comments

@s3alfisc
Copy link
Member

s3alfisc commented Nov 7, 2023

Somwhere somehow one level too much is dropped, see this figure where level 20 is missing:

image

@s3alfisc s3alfisc added the bug Something isn't working label Nov 7, 2023
s3alfisc added a commit that referenced this issue Nov 7, 2023
@s3alfisc
Copy link
Member Author

s3alfisc commented Nov 7, 2023

Should be fixed by #212 , but I will have to add some tests tomorrow. Confirms my rule of thumb: I will regret every test that I don't write.

@s3alfisc
Copy link
Member Author

s3alfisc commented Nov 8, 2023

It's likely best to do a larger refactoring and to use ~ C(X, contr.treatment("x")) syntax from formulaic + to drop levels 2, 3, ... manually.

s3alfisc added a commit that referenced this issue Nov 10, 2023
* attempt to fix #211

* cleanup

* clarification

* fix i() bug for i(var), not for i(var1, var2)

* add drop_intercept argument to feols, fepois

* fix error with did2s inference

* add error when 0 or -1 in first stage

* fix tests, output warning for i(var1, var2) syntax

* format code

* update figure + fix small bug

* no 0 in second stage did test

* bump version

* deprecate i(var1, var2) syntax, update news

* format

* bring back i(var1, var2)

* format
s3alfisc added a commit that referenced this issue Nov 18, 2023
* PyFixest 0.10.7: Basic Did2s support (#194)

* initial commit

* reproduce did2s.r results

* add twfe estimator

* create treatment var internally

* some defensive input checks

* acknowledge kyle as copyright holder

* create experimental folder

* update docs

* update version

* add did2s function

* get event_study() did2s to work again

* delete did2s function

* add basic tests

* patch version

* delete pyaches

* update news

* update starting message

* update readme

* update pyproject.toml

* ci tests on mac as fixest already compiled

* test on windows

* back to testing on linux

* first install python, then R deps

* fix yaml syntax

* yaml is too hard

* fix typo

* PyFixest 0.10.8: More flexible DID2s support (#206)

* initial commit

* reproduce did2s.r results

* add twfe estimator

* create treatment var internally

* some defensive input checks

* acknowledge kyle as copyright holder

* create experimental folder

* update docs

* update version

* add did2s function

* get event_study() did2s to work again

* delete did2s function

* add basic tests

* patch version

* delete pyaches

* update news

* update starting message

* update readme

* update pyproject.toml

* ci tests on mac as fixest already compiled

* test on windows

* back to testing on linux

* first install python, then R deps

* fix yaml syntax

* yaml is too hard

* some work towards a more flexible API

* get did2s function prototype to run

* event_study() and did2s() both run through

* add examples to did2s() and event_study()

* more tests for did2s

* pass tests

* two reference levels

* fix small bug re _drop_ref

* get did2s() to run

* fix did2s vcov bug

* add tests

* update did example

* further updates

* update i-tests

* bump version and update readme

* readme tweaks

* update news

* update readme

* update readme

* dont gitignore figures folder

* PyFixest 0.8.10.1: add black workflow (#207)

* add black action

* run black

* revert notebook

* PyFixest 0.10.8.2: close #208 (#209)

* check for did2s if treatment is boolean

* update docs

* ci only when push to master

* bump version

* small fixes

* formatting

* PyFixest 0.10.9: Improve etable() (#210)

* first step to prettier etable

* add tabulate dependency, fix etable fixef bug

* fix bug with no fixed effects

* fix no model has fixef exception

* bump poetry version

* fix hline placement bug

* formatting

* make plot nicer

* add vcov info

* reformat

* reformat

* update news

* PyFixest 0.10.10  (#212)

* attempt to fix #211

* cleanup

* clarification

* fix i() bug for i(var), not for i(var1, var2)

* add drop_intercept argument to feols, fepois

* fix error with did2s inference

* add error when 0 or -1 in first stage

* fix tests, output warning for i(var1, var2) syntax

* format code

* update figure + fix small bug

* no 0 in second stage did test

* bump version

* deprecate i(var1, var2) syntax, update news

* format

* bring back i(var1, var2)

* format

* fix i(var1, var2) interaction - unit tests pass

* formatting

* bump version

* Fix poisson bug (#215)

* update docs

* add _depvar attribute to Feols object

* use _depvar attribute

* move separation checks out of Fepois to fix #138

* revert changes to performance method

* temporarily do not report r squared metrics

* fix separation bug  #138

* formatting

* update docs

* njit and parallelize crv1 inference #204

* formatting

* bump version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant