Giter Site home page Giter Site logo

juliadiffindiffs / diffindiffs.jl Goto Github PK

View Code? Open in Web Editor NEW
37.0 3.0 2.0 1.57 MB

A suite of Julia packages for difference-in-differences

License: MIT License

Julia 99.85% TeX 0.15%
julia econometrics causal-inference economics empirical-research difference-in-differences event-studies

diffindiffs.jl's Introduction



CI-stable codecov docs-stable docs-dev license

DiffinDiffs.jl is a suite of Julia packages for difference-in-differences (DID). The goal of its development is to promote applications of the latest advances in econometric methodology related to DID in academic research while leveraging the performance and composability of the Julia language.

Why DiffinDiffs.jl?

  • Fast: Handle datasets of multiple gigabytes with ease
  • Transparent: Completely open source and natively written in Julia
  • Extensible: Unified interface with modular package organization

Package Organization

DiffinDiffs.jl reexports types, functions and macros defined in component packages that are separately registered. The package itself does not host any concrete functionality except documentation. This facilitates decentralized code development under a unified framework.

Package Description Version Status
DiffinDiffsBase Base package for DiffinDiffs.jl version pkgeval
InteractionWeightedDIDs Regression-based multi-period DID version pkgeval

More components will be included in the future as development moves forward.

Installation

DiffinDiffs.jl can be installed with the Julia package manager Pkg. From the Julia REPL, type ] to enter the Pkg REPL and run:

pkg> add DiffinDiffs

This will install all the component packages of DiffinDiffs.jl as dependencies. There is no need to explicitly add the individual components unless one needs to access internal objects.

Usage

For details on the usage, please see the documentation.

diffindiffs.jl's People

Contributors

github-actions[bot] avatar junyuan-chen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

diffindiffs.jl's Issues

Collaborate?

Hey, good to see someone else working on modern causal inference in Julia!

I'm the author of SynthControl and TreatmentPanels, two packages in a similar space.

With TreatmentPanels I'm trying to build a foundational "data prep" package which takes in a table and a treatment assignment and then constructs an object with a type which tells you whether the panel is balanced/unbalanced, single/multi-unit treatment, and whether the treatment is absorbing or switches on and off. It then provides functions to extract e.g. pre- and post-treatment outcomes, treatment periods and IDs of treated units etc.

In SynthControl I'm trying to pull together a bunch of recent methods in this space - starting from the most simple "just use all pretreatment outcomes" case to the classical Abadie/Diamond/Hainmueller and things like Synthetic Diff-in-Diff and Matrix Completion.

Finally I've also started implementing Sant'Anna/Zhao's DRDID, although that's not public yet (need to check licensing on that).

Maybe have a look at my stuff and see if any of it is useful or if you'd like to collaborate on anything!

Callaway SantAnna estimator

Hi and thanks again for this package!
I'd like to use it for my research project. Is there a chance this package can implement the estimator in DiD.R?

TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.

If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.

If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Cannot install by add DiffinDiffs and Documentation links (stable version) are invalid

Excited to know that such a useful package is now in Julia! As the title indicates, I found that two packages as a bundle are not available in project. Users have to install them separately and the doc link seems to be no longer valid.

And another issue w.r.t installing is that installation downgrades CSV from 0.10 to 0.8.5 and parsers.jl frome 2.2 to 1.1

Host component packages in `lib`

For the ease of resolving issues across multiple component packages and ensuring consistency with documentation in the long-run, I consider it worthwhile to migrate existing components to the lib folder as packages inside subfolders. It will still be possible to develop new components as separate packages, but anything that goes into the documentation should not be scattered elsewhere.

Interest in co-implementing additional methods?

Hi there,

I am the author of the {did2s} package for R and Stata and was wondering if you would be interested in implementing the method into Julia? I'm interested in learning a bit more Julia and figured this would be a good way to do it, but also would probably face some difficulties as it's a new language for me.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.