Learn R Programming

pcalg (version 2.7-12)

mat2targets: Conversion between an intervention matrix and a list of intervention targets

Description

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 \times 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.

The function mat2targets converts the first representation to the second one, the function targets2mat does the reverse conversion. The second representation can be used to create scoring objects (see Score) and to run causal inference methods based on interventional data such as gies or simy.

Usage

mat2targets(A)
targets2mat(p, targets, target.index)

Value

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 i is encoded as targets[[target.index[i]]].

Arguments

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. A[i, j] is TRUE iff variable j is intervened in data point i.

p

Number of variables

targets

List of unique intervention targets

target.index

Vector of intervention target indices. The intervention target of data point i is encoded as targets[[target.index[i]]].

Author

Alain Hauser (alain.hauser@bfh.ch)

See Also

Score, gies, simy

Examples

Run this code
## 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))

Run the code above in your browser using DataLab