You can use restrict
from vars package for estimating a restricted VAR. This method requires estimate the model twice: 1) the unrestricted model with all the "consecutive lags" and 2) a restricted model with only the lags you want. This is so, becasue restrict
function takes as input an object of class 'varest'. See my alternative:
> library(vars)
> data(Canada) # some data
> model <- VAR(Canada[,1:2], p=3) # The unrestricted VAR
> #Bcoef(model) The restriction matrix have to have the same dimension as dim(Bcoef(model))
# Building the restriction matrix
> Restrict <- matrix(c(1,1,0,0,1,1,1,
1,1,0,0,1,1,1), nrow=2, byrow=TRUE)
# Re-estimating the VAR with only lags 1 and 3
> restrict(model, method = "man", resmat = Restrict)
VAR Estimation Results:
=======================
Estimated coefficients for equation e:
======================================
Call:
e = e.l1 + prod.l1 + e.l3 + prod.l3 + const
e.l1 prod.l1 e.l3 prod.l3 const
1.2029610 0.1885456 -0.2300286 -0.1299485 1.8382368
Estimated coefficients for equation prod:
=========================================
Call:
prod = e.l1 + prod.l1 + e.l3 + prod.l3 + const
e.l1 prod.l1 e.l3 prod.l3 const
0.05511963 1.13333804 -0.03338699 -0.18646375 1.22037293
See ?restrict
for further details on this function.