invertRIconfInt {blockTools} | R Documentation |

## Calculate treatment effect confidence intervals by inverting the randomization test

### Description

Using an output object from `seqblock`

or any other matrix or dataframe that includes a treatment and an outcome variable for multiple units, as well as blocking and non-blocking variables for the respective unit(s), `invertRIconfInt`

calculates treatment effect confidence intervals by inverting the randomization inference test.

### Usage

```
invertRIconfInt(dat, outcome.var, tr.var, tau.abs.min = -1, tau.abs.max = 1,
tau.length = 10, n.sb.p = 100, id.vars, id.vals, exact.vars = NULL, exact.vals = NULL,
exact.restr = NULL, exact.alg = "single", covar.vars = NULL, covar.vals = NULL,
covar.restr = NULL, covars.ord = NULL, n.tr = 2, tr.names = NULL, assg.prob = NULL,
seed = NULL, seed.dist, assg.prob.stat = NULL, trim = NULL, assg.prob.method = NULL,
assg.prob.kfac = NULL, distance = "mahalanobis", file.name = "sbout.RData",
query = FALSE, verbose = TRUE)
```

### Arguments

`dat` |
a matrix or dataframe containing the names and values of the different blocking and non-blocking variables, as well as each unit's treatment assignment and outcome |

`outcome.var` |
a string specifying the name of the outcome variable |

`tr.var` |
a string specifying the name of the treatment variable |

`tau.abs.min` |
lower bound of the range across which the confidence intervals will be computed |

`tau.abs.max` |
upper bound of the range across which the confidence intervals will be computed |

`tau.length` |
the number of (evenly spaced) possible treatment effects across the range specified by |

`n.sb.p` |
the number of times that sequential blocking will be performed on the dataset |

`id.vars` |
see the |

`id.vals` |
see the |

`exact.vars` |
see the |

`exact.vals` |
see the |

`exact.restr` |
see the |

`exact.alg` |
see the |

`covar.vars` |
see the |

`covar.vals` |
see the |

`covar.restr` |
see the |

`covars.ord` |
see the |

`n.tr` |
see the |

`tr.names` |
see the |

`assg.prob` |
see the |

`seed` |
see the |

`seed.dist` |
see the |

`assg.prob.stat` |
see the |

`trim` |
see the |

`assg.prob.method` |
see the |

`assg.prob.kfac` |
see the |

`distance` |
see the |

`file.name` |
see the |

`query` |
see the |

`verbose` |
see the |

### Details

`invertRIconfInt`

takes a data matrix (or data frame) containing names and values of different blocking and non-blocking variables, as well as each unit's treatment assignment and outcome as input and returns a list of treatment effect confidence intervals.

Apart from specifying the treatment and outcome variable, the user can set all other arguments to `seqblock`

when running `invertRIconfInt`

. The function will then calculate the confidence intervals by employing a method described in Ho and Imai (2006), which inverts Fisher's exact test. The resulting confidence intervals are distribution-free, nonparametric and have accurate coverage probabilities.

### Value

A list with elements

`ci95` |
vector of treatment effects within the 95% confidence interval |

`ci90` |
vector of treatment effects within the 90% confidence interval |

`ci80` |
vector of treatment effects within the 80% confidence interval |

### Author(s)

Ryan T. Moore rtm@wustl.edu and Jonathan Homola homola@wustl.edu

### References

Moore, Ryan T. and Sally A. Moore. 2013. "Blocking for Sequential Political Experiments." *Political Analysis* 21(4): 507-523.

Ho, Daniel E., and Kosuke Imai. 2006. "Randomization inference with natural experiments: An analysis of ballot effects in the 2003 California recall election." *Journal of the American Statistical Association* 101(475): 888-900.

### See Also

### Examples

```
## Create an example data matrix with 50 observations that contains an ID variable,
## a dummy variable indicating gender, an age variable (between 18 and 55), a
## treatment variable and an outcome variable (between 15 and 20).
## id <- seq(1,50,1)
## gender <- sample(c(1,2),50,replace=T)
## age <- sample(seq(18,55,1),50,replace=T)
## treat <- sample(c(1,2),50,replace=T)
## out <- treat + sample(seq(15,20,1),50,replace=T)
## data <- cbind(id, gender, age, out, treat)
## Check summary statistics for the created data
## aggregate(out~treat, data, mean)
## Run invertRIconfInt()
## invertRIconfInt(data, outcome.var="out", tr.var="treat", tau.abs.min = -3,
## tau.abs.max = 3, id.vars = "id", id.vals = "id", exact.vars = c("gender", "age"),
## exact.vals = c("gender", "age"))
```

*blockTools*version 0.6.4 Index]