Skip to content

Commit aeecd87

Browse files
authored
Acknowledgement adjustments (#1163)
* tweaks * tweaks * fix small error
1 parent 237d4a6 commit aeecd87

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

docs/acknowledgements.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@ Like many open-source software projects, PyFixest builds on work and ideas first
55
# Software
66

77
> Unless explicitly stated otherwise, all PyFixest code is written independently from scratch. The packages listed below have influenced PyFixest's API design or algorithmic choices, or are used for testing PyFixest as reference implementations, but no source code has been copied except where explicitly stated (with license and permission details provided inline).
8+
89
## fixest (R)
910

10-
If open source software is made by "standing on the shoulders of giants", in case of `PyFixest`, there is mostly one very big giant - [Laurent Bergé's](https://sites.google.com/site/laurentrberge/) formidable [fixest](https://github.com/lrberge/fixest/) R package. `fixest` is so good we decided to stick to its API and conventions as closely as Python allows when starting to work on a fixed effects regression package in Python. Without `fixest`, PyFixest likely wouldn't exist - or at the very least, it would look very different. Most importantly, `fixest` has shaped our understanding of what a user-friendly regression package should look like and what functionality it should offer.
11+
If open source software is made by "standing on the shoulders of giants", in case of `PyFixest`, there is mostly one very big giant - [Laurent Bergé's](https://sites.google.com/site/laurentrberge/) formidable [fixest](https://github.com/lrberge/fixest/) R package. `fixest` is so good we decided to stick to its API and conventions as closely as Python allows when starting to work on a fixed effects regression package in Python. Without `fixest`, PyFixest likely wouldn't exist - or at the very least, it would look very different. Most importantly, `fixest` has shaped our understanding of how a user-friendly regression package should look like and what functionality it should offer.
1112

1213
More concretely, we have borrowed the following API conventions and ideas directly from fixest:
1314

@@ -22,7 +23,7 @@ More concretely, we have borrowed the following API conventions and ideas direct
2223
| **On the fly variance covariance adjustments** | As in `fixest`, you can adjust the vcov post estimation by calling a `vcov()` method on the results object (`Feols` in pyfixest and `fixest` in `fixest`) |
2324
| **Predict method for fixed effects** | The `predict()` and `fixef()` methods in PyFixest mirrors fixest's functionality for obtaining fitted values, fixed effects, and linear predictions |
2425

25-
You can learn more about fixest [on github](https://github.com/lrberge/fixest), via its [documentation](https://lrberge.github.io/fixest/), or by reading the [associated paper](https://arxiv.org/abs/2601.21749).
26+
You can learn more about fixest [on github](https://github.com/lrberge/fixest), via its [documentation](https://lrberge.github.io/fixest/), or by reading the [associated paper](https://arxiv.org/abs/2601.21749).
2627

2728
PyFixest is tested against fixest via **rpy2** to ensure numerical equivalence
2829
(usually `rtol = 1e-08`, `atol = 1e-08`) for coefficients,
@@ -55,7 +56,7 @@ standard errors, t-statistics, p-values, confidence intervals, etc for OLS, IV,
5556

5657
| Package | Language | Role |
5758
|---|---|---|
58-
| [**did2s**](https://github.com/kylebutts/did2s) | R | PyFixest's DID2S estimator's API is strongly inspired by Kyle Butts' R package (MIT license) and we have relied on Kyle's writeup of the method for our own implementation. Tests compare coefficients and standard errors against the R implementation |
59+
| [**did2s**](https://github.com/kylebutts/did2s) | R | PyFixest's DID2S estimator's API is strongly inspired by Kyle Butts' R package (MIT license) and we have relied on Kyle's writeup of the method for our own implementation. Tests compare coefficients and standard errors against the R implementation. Additionally, PyFixest's `event_study()` function is inspired by the [`event_study()` function](https://kylebutts.github.io/did2s/articles/event_study.html) in `did2s`. |
5960
| [**lpdid**](https://github.com/alexCardazzi/lpdid) | R | PyFixest's local-projections DID estimator is highly influenced by Alex Cardazzi's R code (published under MIT) for the lpdid package. We also test against Alex' package. |
6061
| [**lpdid**](https://github.com/danielegirardi/lpdid) | Stata | We also test our implementation against Daniel Busch and Daniele Girardi's Stata implementation of the local-projections estimator. |
6162

0 commit comments

Comments
 (0)