MyNixOS website logo
Description

Computes Powell's Generalized Synthetic Control Estimator.

Computes the generalized synthetic control estimator described in Powell (2017) <doi:10.7249/WR1142>. Provides both point estimates, and hypothesis testing.

pgsc

The goal of pgsc is to provide an estimation and testing framework for Powell's Generalized Synthetic Control method. This provides consistent estimates in the presence of unobserved spatially-correlated factors in a panel. Please see the vignette for further details and an extended example.

Installation

You can install pgsc from github with:

devtools::install_github("philipbarrett/pgsc")

Example

This is a basic example which provides estimation and testing for a dataset with omitted variables that cannot be addressed by time and unit fixed effects. Please see the vignette for further details on this example and other options.

#' data("pgsc.dta")
#' library(plm)
#' pan <- plm( y ~ D1 + D2 + X1 + X2 + X3, pgsc.dta, effect = 'twoways', index = c('n','t'))
#' summary(pan)
#'    # Failure of panel estimation: the true coefficients on D1, D2 are c(1,2), 
#'    # which are not recovered due to omitted variables which are spatially
#'    #  correlated.  The "twoway" (time/unit) fixed effects cannot pick this up.
#' sol <- pgsc(pgsc.dta, dep.var = 'y', indep.var = c('D1','D2'), 
#'              b.init = c(0,0), method='twostep.indiv' )
#' summary(sol)
#'    # The unrestricted estimation. 
#' g.i <- function(b) b[1] ; g.i.grad <- function(b) c(1,0)
#' sol.r <- pgsc(pgsc.dta, dep.var = 'y', indep.var = c('D1','D2'), 
#'              b.init = sol$b, method='twostep.indiv', g.i=g.i, g.i.grad=g.i.grad )
#'    # Restricted estimation under the hypothesis that b[1]=0
#' summary(sol.r)
#' wald <- pgsc.wald.test( pgsc.dta, 'y', indep.var = c('D1','D2'), sol.r )
#' summary(wald)
#' plot(wald)
#'    # Testing the hypothesized restriction.  It is comfortably rejected.

You can access the vignette with

#' browseVignettes('pgsc')
Metadata

Version

1.0.0

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows