Learn R Programming

sisVIVE (version 1.4)

predict.sisVIVE: Estimates set of invalid instruments or the causal effect of exposure on outcome from a sisVIVE object

Description

predict.sisVIVE can estimate a set of invalid instruments or the causal effect of exposure on outcome for any particular lambda(s)

Usage

# S3 method for sisVIVE
predict(object, lambda, type = c("coefficients", "instruments"), ...)

Arguments

object

A fitted sisVIVE object

lambda

A numerical vector of lambda(s) to obtain estimates. The length of this vector can be one.

type

If type="coefficients", predict returns estimated alpha and betas (i.e. the causal effect of exposure on outcome) for supplied lambda(s). If type = "instruments", predict returns estimated set of invalid instruments for supplied lambda(s)

Any other argument for predict.lars

Value

lambda

Sequence of lambda(s) supplied by the user

alpha

If type="coefficients", alpha is the estimated direct effect of the instruments on the outcome. Each row refers to an estimated alpha for one lambda value and each column refers to the corresponding column in Z

beta

If type="coefficients", beta is the estimated causal effect of exposure on outcome. Each entry refers to an estimated beta for one lambda value

instruments

If type="instruments",provides a character vector of invalid instruments. Each entry refers to column indices of Z that are estimated to be invalid.

Details

predict() estimates the alphas and betas for given sequence of lambda(s) or set of invalid instrument.

See Also

summary, and cv.sisVIVE

Examples

Run this code
library(MASS)
library(lars)

n = 1000; L = 10; s= 3;
Z <- matrix(rnorm(n*L),n,L)
error <- mvrnorm(n,rep(0,2),matrix(c(1,0.8,0.8,1),2,2))
intD = rnorm(1); ZtoD =   rnorm(L,0,1); ZtoY = c(rnorm(s),rep(0,L-s)); DtoY = 1; intY = rnorm(1)
D = intD + Z %*% ZtoD + error[,1]
Y = intY + Z %*% ZtoY + D * DtoY + error[,2]

result = sisVIVE(Y,D,Z)
estCoef1 = predict(result,lambda = 10,type="coefficients")
estCoef2 = predict(result,lambda = seq(1,100,10),type="coefficients")
estInst1 = predict(result,lambda = 10,type="instruments")
estInst2 = predict(result,lambda = seq(1,100,10),type="instruments")

Run the code above in your browser using DataLab