# mlr.variance: Treatment effect variance In MatchLinReg: Combining Matching and Linear Regression for Causal Inference

## Description

Calculating treatment effect variance, resulting from linear regression.

## Usage

 ```1 2``` ```mlr.variance(tr, Z.i = NULL, sigsq = 1, details = FALSE , idx =1:length(tr)) ```

## Arguments

 `tr` Binary treatment indicator vector (1=treatment, 0=control), whose coefficient in the linear regression model is TE. `Z.i` Matrix of adjustment covariates included in linear regression. We must have `nrow(Z.i) == length(tr)`. `sigsq` Variance of data generation noise. `details` Boolean flag, indicating whether intermediate objects used in generating the constrcutor vector must be returned or not (only when no repeated observations). `idx` Index of observations to be used, with possible duplication, e.g. as indexes of matched subset.

## Value

A scalar value is returned for TE variance. If `details = TRUE` and `Z.i` is not `NULL`, then the following objects are attached as attributes:

 `u.i` Vector of length `ncol(Z.i)`, reflecting the mean difference between groups (control - treatment) for each included covariate. `A` Weighted, within-group covariance matrix of included covariates. It is a square matrix of dimension `ncol(Z.i)`. `iA` Inverse of `A`.

## Author(s)

Alireza S. Mahani, Mansour T.A. Sharabiani

## References

Link to a draft paper, documenting the supporting mathematical framework, will be provided in the next release.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27``` ```data(lalonde) tr <- lalonde\$treat Z.i <- as.matrix(lalonde[, c("age", "educ", "black" , "hispan", "married", "nodegree", "re74", "re75")]) ret <- mlr.variance(tr = tr, Z.i = Z.i) # comparing with brute-force approach X.i <- cbind(tr, 1, Z.i) ret2 <- (solve(t(X.i) %*% X.i))[1, 1] cat("check 1:", all.equal(ret2, ret), "\n") # matching with/without replacement idx <- mlr.match(tr = tr, X = Z.i, caliper = 1.0 , replace = FALSE) idx.wr <- mlr.match(tr = tr, X = Z.i, caliper = 1.0 , replace = TRUE) ret3 <- mlr.variance(tr = tr, Z.i = Z.i, idx = idx) cat("variance - matching without replacement:" , ret3, "\n") ret4 <- mlr.variance(tr = tr, Z.i = Z.i, idx = idx.wr) cat("variance - matching with replacement:" , ret4, "\n") ```

MatchLinReg documentation built on May 29, 2017, 8:18 p.m.