Conversion between an intervention matrix and a list of intervention targets
In a data set with n measurements of p variables, intervened variables can be specified in two ways:
with a logical
intervention matrix of dimension
n × p, where the entry [i, j]
indicates whether
variable j has been intervened in measurement i; or
with a list of (unique) intervention targets and a p-dimensional vector indicating the indices of the intervention targets of the p measurements.
mat2targets(A) targets2mat(p, targets, target.index)
A |
Logical matrix with n rows and p columns, where n
is the sample size of a data set with jointly interventional and
observational data, and p is the number of variables. |
p |
Number of variables |
targets |
List of unique intervention targets |
target.index |
Vector of intervention target indices. The intervention
target of data point |
mat2targets
returns a list with two components:
targets |
A list of unique intervention targets. |
target.index |
A vector of intervention target indices. The intervention
target of data point |
Alain Hauser (alain.hauser@bfh.ch)
## Specify interventions using a matrix p <- 5 n <- 10 A <- matrix(FALSE, nrow = n, ncol = p) for (i in 1:n) A[i, (i-1) %% p + 1] <- TRUE ## Generate list of intervention targets and corresponding indices target.list <- mat2targets(A) for (i in 1:length(target.list$target.index)) sprintf("Intervention target of %d-th data point: %d", i, target.list$targets[[target.list$target.index[i]]]) ## Convert back to matrix representation all(A == targets2mat(p, target.list$targets, target.list$target.index))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.